यह अपने लिए भविष्य का संदर्भ है। चूंकि सवाल सबसे खराब स्थिति पर है, हमें लाइन ब्रेक को ध्यान में रखना चाहिए। जबकि RFC 1421 अधिकतम लाइन लंबाई 64 char को परिभाषित करता है, RFC 2045 (MIME) में कहा गया है कि अधिकतम एक पंक्ति में 76 char होंगे।
उत्तरार्द्ध वह है जो C # लाइब्रेरी ने लागू किया है। इसलिए विंडोज वातावरण में जहां एक लाइन ब्रेक 2 वर्ण (\ r \ n) है, हमें यह मिलता है:Length = Floor(Ceiling(N/3) * 4 * 78 / 76)
नोट: फ़्लोरिंग इसलिए है क्योंकि C # के साथ मेरे परीक्षण के दौरान, यदि अंतिम पंक्ति बिल्कुल 76 वर्णों पर समाप्त होती है, तो कोई भी लाइन-ब्रेक अनुसरण नहीं करता है।
मैं निम्नलिखित कोड चलाकर इसे साबित कर सकता हूं:
byte[] bytes = new byte[16 * 1024];
Console.WriteLine(Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks).Length);
16 kBytes का जवाब 7664-लाइनों के साथ base64 में एन्कोड किया गया: 22422 चार्ट
लिनक्स में मान लें, Length = Floor(Ceiling(N/3) * 4 * 77 / 76)
लेकिन मैं इसे अभी तक अपने .NET कोर पर परीक्षण करने के लिए नहीं मिला।