真正的双字节编码

时间:2015-04-20 02:28:40

标签: unicode character-encoding utf-16 utf-32 double-byte

是否存在一些真正的双字节编码(DBCS)?

  • 当然,除UCS-2,UTF-16外。
  • 我的意思是编码,它也将ASCII保存为2个字节。
  • 我的意思是空字节。 (00 20 - 空间)
  • 如果在标准/使用中已经过时,请告诉它是否被使用。

4字节编码的同一问题是否存在(不是UCS-4,UTF-32)?

感谢。

2 个答案:

答案 0 :(得分:2)

对于每个字符,肯定有两个字节的遗留字符集,但这些字符集通常根本不对ASCII字符进行编码,旨在补充单字节字符集而不是替换它。我所知道的所有这些都是为了支持中文,日文和/或韩文表意文字。

有大量遗留文件使用这些编码,我发现在某些地方仍然会在新文档中使用它们,我不会感到惊讶。

如果您正在尝试确定您的软件是否可以忽略UTF以外的多字节字符编码的存在,那么我担心您不会轻易得到答案。当然你的软件可以这样做,就像它可以忽略ISO-8859-15之外的单字节编码一样,但只有可以决定你的程序如果这样做,它将充分发挥其作用。

答案 1 :(得分:1)

不,没有满足您的要求列表的双字节字符集。这是因为当天的设计人员使用7位ASCII作为起点(兼容兼容性),然后在256字节值的上半部分添加额外字符或多字节起始码。

类似地,对于四字节字符集,在Unicode之前没有严格的标准甚至尝试提供超过65536个字符。

举一个例子,中文Big5使用字节0x00到0x7F的ASCII定义,使用0x81到0xFF作为扩展字符的起始字节,使用{0x40到0x7E,0xA1到0xFE}作为第二个字节。这可以编码最多20067个不同的字符。