【发布时间】:2016-04-19 12:23:37
【问题描述】:
非常基本的问题,可能是我无法理解的非常基本的答案。
在 .Net 中,如果我使用 base64 对我的 byte[] 进行编码,我会得到一个字符串引用作为回报。但是 .Net 中的字符串是 UTF-16 编码的。那么它究竟是如何存储/表示的呢?
【问题讨论】:
-
不太确定您的实际问题是什么...... base64 编码的唯一目的是获取仅包含 ASCII 字符的字符串,因此它与字符串的 .NET 编码/表示无关.它应该只被视为一些函数 byte[] -> 字符串,所以你只是得到一个字符串,它像往常一样存储在 .NET 中的 utf-16 编码数据。
-
this 有帮助吗? Base64 只是一种以 ASCII 形式表示二进制数据的编码。并且 UTF-16 是 ASCII 的超集(即,可以用 ASCII 表示的所有内容都可以以相同的方式在 UTF-16 中表示)。因此 ASCII 文本可以很容易地存储在 .NET 字符串中。
标签: c# .net string base64 utf-16