2012-04-05 215 views
5
  • iso-8859-1是否是utf-8的一个子集?
  • 那么iso-8859-n呢?
  • windows-1252怎么样?

如果答案是否定的以上任何一个,什么是不相交的字符?我正在测试一些检测字符集的逻辑,并希望编写测试来验证检测是否正常工作。字符集特殊字符

回答

8

iso-8859-1是否是utf-8的一个子集?

字符reportoire ISO-8859-1(统一的前256个字符)的是该UTF-8(每Unicode字符)的适当子集。

但是,characters U+0080 to U+00FF编码在两个编码方面有所不同。

  • ISO-8859-1给每个这些字符单字节80FF的。
  • UTF-8编码与两字节序列C2 80C3 BF相同的字符。

那么iso-8859-n呢?

这些是15种不同的编码,总共包含614个不同的字符。其中一些字符出现在ISO 8859的多个“部分”中,有些则没有。你必须更具体。

我看到你的问题被标记为ISO-8859-2。这是在-2不在-1中的人物:

Ă㥹ĆćČčĎďĐđĘęĚěĹ弾ŁłŃńŇňŐőŔŕŘřŚśŞşŠšŢţŤťŮůŰűŹźŻżŽžˇ˘˙˛˝

有关Windows 1252是什么?

Windows-1252就像ISO-8859-1一样,只是它将0x80-0x9F范围内很少使用的控制字符替换为可打印的字符。这是Windows 1252,但不是ISO-8859-1的字符是:

ŒœŠšŸŽžƒˆ˜–—‘’‚“”„†‡•…‰‹›€™

+0

所以你说的iso-8859-1的那repetoire是utf-8的repetoire的真子集?我相信。我不确定的是utf-8的排斥与unicode的排斥相等。我认为utf-16/utf-32的目的是能够分别编码更多/所有的unicode字符。 – 2012-04-05 19:27:41

+1

啊..我查了一下。由于UTF-8可以将字符表示为多个字节,因此它可以表示所有的unicode repetoire。这现在有道理。 – 2012-04-05 19:48:39

0

Unicode是所有这些字符集的超集,以及几乎所有已建立的字符集。您可以在这里找到所有这些字符集到Unicode代码点的映射列表:http://unicode.org/Public/MAPPINGS/