UTF-7、UTF-8、UTF-16(Unicode)、UTF-32 都是 Unicode 编码,一般来说,我们说 Unicode 时是指 UTF-16,在 ASP.NET 中也是如此,System.Text.Encoding.Unicode 就是指 Little Endian 的 UTF-16。
UTF
Unicode Transformation Format,Unicode 转换格式。
UTF-7
是一种可变长度字符编码方式,用以将 Unicode 字符以 ASCII 编码的字符串来呈现,可以应用在电子邮件传输之类的应用。
UTF-8
一个单元为 8 位,至少占用 8 位,至多占用 32 位。
由于针对英文时只占用 8 位,这对英文出现频率很高,且需要在网络上传输的网页来说,尤为有吸引力,所以现在很多网页、XML 文件都是用的 UTF-8 编码。
UTF-16
一个单元为 16 位,至少占用 16 位,至多占用 32 位。
用在 Java 和 Windows 中。
常说 Unicode 就是指 UTF-16。
UTF-32
一个单元为 32 位,至少占用 32 位,至多占用 32 位。
用在 Unix 系统中。
Big Endian 和 Little Endian
缩写为 BE 和 LE,俗称大头和小头,是针对 UTF-16 和 UTF-32 的。
这是什么意思呢?假如字母 a,它的 ASCII 值是 97,16 进制为 0x61。