unicode有什么大不了的?

Dai*_*tsu 5 unicode

我听说很多人都在谈论一种新版本的语言现在如何支持unicode,以及unicode的成就有多少.能够支持新角色的重要性是什么?它似乎很少被使用,但人们常常提到它.人们使用甚至关心unicode的好处或原因是什么?

Eri*_*ert 28

编程语言用于生成软件.

软件用于解决人类面临的问题.

制作软件要付出代价.

解决人类问题的软件产生价值.该值可以以利润成本的减少的形式表示,具体取决于软件开发人员的业务模型.如何表达价值与本讨论的目的无关; 相关的是产生净值.

世界上有70亿人.其中很大一部分是最舒适的阅读文本,不是用拉丁字母书写的.

如果开发人员能够轻松地操纵用非拉丁字母表编写的文本,那么声称为那些不使用拉丁字母的70亿人中的一部分解决问题的软件会更有效.

因此,支持非拉丁字符集的编程语言降低了软件开发人员的成本,从而使他们能够以更低的成本为更多人解决更多问题,从而产生更多价值.

Unicode是操纵非拉丁文本的事实标准.

因此,Unicode对编程语言的设计和实现很重要.

我们作为编程语言设计者的目标是创造产生最大价值的工具.支持Unicode是一种简单的方法,可以大规模增加可以在软件中解决的真实人类问题的范围和范围.

  • 埃里克只是一个花哨的Prolog机器人的确凿证据. (24认同)
  • 此外,C#的源代码在任何有效的Unicode编码中允许我编写如下幽默代码:if(ಠ_ಠ== null)continue; 并正确编译.:) (6认同)
  • @Joan:以上所有.在C#和Windows中,一般来说,字符串(几乎)总是以Unicode形式出现,因此您可能每天处理Unicode字符串可能已经很长时间了,但却没有意识到. (3认同)
  • @Joan:请注意,C#在整个语言中都支持Unicode.如果您是希腊程序员,那么说"stringΣώκρατες= null;"是完全合法的.如果你喜欢在死去的哲学家之后命名你的变量.(当然,请注意,主要使用C#编写的StackOverflow正在处理这些注释中的Unicode文本.) (3认同)
  • @Joan:没有免费的午餐; 你必须考虑一下.例如,假设您要比较两个字符串以将它们排序为"按字母顺序"排序.*按字母顺序排列?*世界各地不同的文化将事物分成不同的顺序.例如,德语字符ß是一种写"ss"的奇特方式.即使它是一个Unicode字符,当它出现在字符串中时,它应该*排序*,就像字符串包含"ss"一样.这就是String.Compare将CultureInfo作为其参数的原因,以便您可以说出要使用的规则. (2认同)
  • @Joan:假设你要求"Fuß"中的"ss"索引.如果你是德国演讲者,那么正确的答案就是确定,子串就在那里.这就是为什么有一个版本的IndexOf采用枚举,允许您指定索引操作是否是"序数",即完全匹配Unicode字符,或使用区分文化的规则.所以,你必须仔细考虑它.当您使用IndexOf时,请考虑您正在搜索的字符串是否需要与精确字符完全匹配,或者它们是否应该对产生它们的文化敏感. (2认同)