UTF-8、UTF-16和UTF-32之间有什么区别?
我知道它们都将存储Unicode,并且每个都使用不同的字节数来表示一个字符。选择其中一个有优势吗?
发布于 2009-01-30 17:15:19
在ASCII字符代表文本块中的大多数字符的情况下,UTF-8具有优势,因为UTF-8将这些字符编码为8位(如ASCII)。这也是有利的,因为只包含ASCII字符的UTF-8文件具有与ASCII文件相同的编码。
在ASCII不占主导地位的情况下,UTF-16更好,因为它主要使用每个字符2个字节。对于高位字符,UTF-8将开始使用3个或更多字节,而对于大多数字符,UTF-16仍然只使用2个字节。
UTF-32将在4个字节中覆盖所有可能的字符。这使得它变得相当臃肿。我想不出使用它有什么好处。
发布于 2009-01-30 17:10:10
简而言之:
参见维基百科:UTF-8、UTF-16和UTF-32。
发布于 2009-01-30 17:10:30
UTF-32是固定的E110 E1104 E211字节。H212F213
注意:按照最新的约定,UTF-8可以包含1到6个字节:https://lists.gnu.org/archive/html/help-flex/2005-01/msg00030.html
https://stackoverflow.com/questions/496321
复制相似问题