এটি আমার জন্য ভবিষ্যতের রেফারেন্স। যেহেতু প্রশ্নটি সবচেয়ে খারাপ ক্ষেত্রে, তাই আমাদের উচিত লাইন ব্রেকগুলি অ্যাকাউন্টে নেওয়া। আরএফসি 1421 সর্বোচ্চ রেখার দৈর্ঘ্য char৪ চর হিসাবে নির্ধারণ করেছে, আরএফসি 2045 (এমআইএমআই) জানিয়েছে যে সেখানে এক লাইনে সর্বাধিক 76 76 চর থাকবে।
পরেরটি সি # লাইব্রেরি প্রয়োগ করেছে। সুতরাং উইন্ডোজ পরিবেশে যেখানে একটি লাইন বিরতি 2 অক্ষর (\ r \ n) হয়, আমরা এটি পাই:Length = Floor(Ceiling(N/3) * 4 * 78 / 76)
দ্রষ্টব্য: মেঝেটি সি # এর সাথে আমার পরীক্ষার সময় যদি শেষ লাইনটি ঠিক 76 টি অক্ষরে শেষ হয় তবে কোনও লাইন ব্রেক বিরত হয় না।
আমি নিম্নলিখিত কোডটি চালিয়ে প্রমাণ করতে পারি:
byte[] bytes = new byte[16 * 1024];
Console.WriteLine(Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks).Length);
16 কেবাইটের উত্তর 76-চর লাইনের সাথে বেস 64 এ এনকোড করেছে: 22422 অক্ষর
লিনাক্সে ধরে Length = Floor(Ceiling(N/3) * 4 * 77 / 76)
নিই এটি হ'ল তবে এটি এখনও আমার .NET কোর এ পরীক্ষার জন্য পাই নি।