预测base64编码字节[]的字节大小
本文关键字:字节 base64 编码 预测 | 更新日期: 2023-09-27 18:27:35
我正在尝试预测base64编码字节数组的大小字符串表示。
我已经得出了下面的公式,然而实际encodedString
的长度比base64EncodedSize
大4。
这里的全部思想是计算/预测给定byte[]
的编码字符串大小。我不希望仅仅为了确定它的长度而将byte[
]转换为64进制字符串。
FileInfo pdfFile = new FileInfo(@"C:'TEMP'1.pdf");
long originalSizeInBytes = pdfFile.Length;
String encodedString = Convert.ToBase64String(File.ReadAllBytes(pdfFile.FullName));
long base64EncodedSize = (originalSizeInBytes / 3) * 4;
----------------------------------------------------------------------------------
- Results -
-----------------------------------------------------------------------------------
originalSizeInBytes 913663 long
base64EncodedSize 1218216 long
encodedString.Length 1218220 int
base64EncodedSize 1218216 long
encodedString.Length - base64EncodedSize 4 long
这将是
long base64EncodedSize = 4 * (int)Math.Ceiling(originalSizeInBytes / 3.0);