【问题标题】:True double byte encoding真正的双字节编码
【发布时间】:2015-06-26 14:51:54
【问题描述】:
是否存在一些真正的双字节编码 (DBCS)?
- 除了 UCS-2,当然还有 UTF-16。
- 我的意思是编码,它也将 ASCII 保存为 2 个字节。
- 我的意思是空字节。 (00 20 - 空格)
- 请告知它是否已被使用,是否在标准/正在使用中已过时。
4字节编码的相同问题,是否存在(不是UCS-4,UTF-32)?
谢谢。
【问题讨论】:
标签:
unicode
character-encoding
utf-16
utf-32
double-byte
【解决方案1】:
当然有一些遗留字符集对每个字符只使用两个字节,但这些字符集通常根本不编码 ASCII 字符,旨在补充单字节字符集而不是替换它.我所知道的所有这些都支持中文、日文和/或韩文的表意字符。
周围有大量使用这种编码的遗留文档,我不会惊讶地发现在某些地方它们仍在新文档中使用。
如果您试图确定您的软件是否可以忽略除 UTF 之外的多字节字符编码的存在,那么恐怕您不会得到一个简单的答案。当然,您的软件可以这样做,就像它可以忽略 ISO-8859-15 以外的单字节编码一样,但只有 您 可以确定您的程序是否如果这样做,将充分发挥其作用。
【解决方案2】:
不,没有满足您的要求列表的双字节字符集。这是因为过去的设计人员使用 7 位 ASCII 作为起点(有利于兼容性),然后在 256 字节值的上半部分放置额外的字符或多字节起始码。
四字节字符集也是如此,在 Unicode 甚至尝试提供超过 65536 个字符之前没有严格的标准。
举个例子,中文Big5对字节0x00到0x7F使用ASCII定义,使用0x81到0xFF作为扩展字符的起始字节,使用{0x40到0x7E,0xA1到0xFE}作为第二个字节。这可以编码最多 20067 个不同的字符。