|
1
|
| Quibblesome · 技术社区 · 17 年前 |
|
|
1
6
UTF-8可用于任何ASCII文档,通常比UTF-16更紧凑,但它仍然涵盖整个Unicode。我认为UTF-8是 比UTF-16更常见。它也是XML的默认值(当没有指定BOM表和显式编码时)。
This page 非常清楚地描述了它,包括任何特定Unicode字符的编码方式。这是一种可变宽度编码,但它涵盖了整个Unicode。 |
|
|
2
6
是 Unicode,更具体地说是Unicode编码类型之一。
|
|
|
3
2
|
|
|
4
2
所有ASCII字符都按原样表示,这样ASCII文件就可以通过进一步的ado读取。一旦流中的一个字节设置了其第8位(最高位,>127),这将触发读取器将其与下一个字节组合,直到>128然后将该组合视为1个字符。
Windows在内部使用UTF-16,这将可编码字符限制为64K,这绝不是所有Unicode字符。UTF-32目前允许所有字符,但也受到人为限制。并且两者都与ASCII不向上兼容,因为它们都有前导零:
还有小端和大端编码:
想象一下使用UTF16或UTF32来保存文件。与ASCII和UTF-8(如果只使用ASCII字符,则为UTF-8)相比,它们(对于文本文件)的大小将增加一倍或四倍。UTF-8不仅允许unicode标准中的所有字符,甚至可以用于将来的增强,还可以有效地节省空间。
|