我正在编写一个应用程序,需要将其输入从 UTF-8 转码为 ISO-8859-1 (Latin 1)。
一切正常,除了有时我会得到一些变音字符的奇怪编码。例如,带有 2 个点的拉丁语 1 E (0xEB) 通常为 UTF-8 0xC3 0xAB,但有时也为 0xC3 0x83 0xC2 0xAB。
这种情况从不同的来源发生过多次,并注意到第一个和最后一个字符与我的预期相符,是否存在我的库不知道的编码规则?
某些 Unicode 字符可以表示为composed and 分解的形式。例如,德语变音符号-uü
可以用单个字符表示ü
or by u
其次是¨
,然后文本渲染器会将其组合。
请参阅维基百科文章Unicode 等效项 http://en.wikipedia.org/wiki/Unicode_equivalence血淋淋的细节。
因此,Unicode 库通常提供方法或函数将字符串规范化为一种或另一种形式,以便您可以比较它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)