string name = "cem"
byte[] barr = "cem".ToCharArray().Select(p=>Convert.ToByte(p)).ToArray();
string converted = Convert.ToBase64String(barr); // converted will be Y2Vt
c e m
99 101 109
Y 2 V t
24 54 21 45
我无法理解此转换背后的数学原理。
base64字符串编码表:http://tipsforcdevelopers.blogspot.com/2009/05/difference-between-converttobase64strin.html
最佳答案
Wikipedia's page 上的表解释的很清楚。
每 3 个字节包含 3 x 8 = 24 位。
这24位在Base64编码中被编码成4个ASCII字符。这意味着每个 ASCII 字符携带 6 位数据。
2^6 是 64,因此可以使用该表将每 6 位映射到一个 ASCII 字符。
关于c# - 了解 ToBase64String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7452184/