我对UTF8有基本的了解:码点的长度是可变的,所以一个“字符”可以是8位、16位,甚至更长。
我想知道 C 语言中是否有一些示例代码、库等可以与 UTF8 字符串(如 C 中的标准库)执行类似的操作。告诉字符串的长度等。
Thanks,
GNU 有一个 Unicode 字符串库,称为库尼字符串 http://www.gnu.org/software/libunistring/manual/,但它处理任何事情的效果都不如ICU http://site.icu-project.org/是的。
例如,GNU 库甚至不允许您访问排序规则,这是所有字符串比较的基础。相比之下,ICU 却是这样。 ICU 拥有但 GNU 没有出现的另一件事是 Unicode 正则表达式。为此,您可能想使用Phil Hazel 出色的 C 语言 PCRE 库 http://www.pcre.org,可以使用 UTF-8 支持进行编译。
然而,GNU 库可能足以满足您的需要。我不太喜欢它的 API。很乱。如果你喜欢C语言编程,你可以尝试Go编程语言 http://golang.org,它具有出色的 Unicode 支持。这是一门新语言,但小巧、干净且使用起来很有趣。
另一方面,主要的解释语言——Perl、Python 和 Ruby——都对 Unicode 有不同的支持,这比 C 语言中的支持要好。其中,Perl 的 Unicode 支持是最成熟和最强大的。
请记住:仅支持更多字符是不够的。如果没有相应的规则,就没有 Unicode。最多,您可能拥有 ISO 10646:大量字符库,但没有规则。我的座右铭是“Unicode 不仅仅是更多的字符;而是更多的字符”。更多的角色plus一整套处理它们的规则。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)