作为应用程序开发人员,我是否需要了解Unicode?
Unicode是一种标准,用于定义书面通信中使用的字形的数字代码.或者,正如他们自己说的那样:
用于编写世界上所有语言的字符的数字表示标准.Unicode提供了一种统一的方法,用于以任何语言存储,搜索和交换文本.它被所有现代计算机使用,是在Internet上处理文本的基础.Unicode由Unicode Consortium开发和维护.
开发人员承诺提供许多常见的,但很容易避免的编程错误,他们不打扰自己了解Unicode及其编码.
首先,去源的权威,详细的资料和实施指南.
正如其他人所提到的,Joel Spolsky有很好的错误清单.
我也喜欢Elliotte Rusty Harold的 十诫Unicode.
开发人员还应注意 规范表示攻击.
您应该注意的一些关键概念是:
字形 - 用于表示书写字符的混凝土图形.
组合 - 组合字形以创建另一个字形.
编码 - 将 Unicode转换为字节流.
Collation -locale-sensitive比较Unicode字符串.
可能只是添加另一个链接,unicode.org是一个壮观的资源.
简而言之,它是ASCII的替代品,旨在处理人类曾经使用的每个角色.Unicode有几种编码方案来处理所有这些字符 - UTF-8,这或多或少是标准,现在很难保持每个字符一个字节,并且与前7位的ASCII相同.
(作为附录,程序员之间存在一种流行的误解,如果你要进行国际化,你只需要了解Unicode.虽然这肯定是一种用途,但它不是唯一的用途.例如,我正在研究只会使用英文文本的项目 - 但是有大量花哨的数学符号.将整个项目移动到完全Unicode解决了比我可以计算的更多问题.)