c# - 了解 ToBase64String

标签 c#

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 字符。 enter image description here

关于c# - 了解 ToBase64String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7452184/

相关文章:

c# - 如何处理在Int,String的2D SortedList中输入重复的int

c# - 从 C# 执行 Python 脚本

c# - 需要一种存储名称值对的好方法

c# - 正确使用依赖注入(inject)

c# - 使用SQLite数据库的MS Word邮件合并

c# - 使用 HttpClient 调用 Web API 时出现的问题网络客户端 C#

C# List<T> OrderBy float 成员

c# - CaSTLe Windsor - 开放通用接口(interface)的 IoC 注册?

c# - 将 WPF 应用程序连接到 ipage 服务器上的 MySQL 数据库

c# - Mysql - "order by"/Subquery 上的 Entity Framework 性能问题