我听说很多人都在谈论一种新版本的语言现在如何支持unicode,以及unicode的成就有多少。能够支持新角色的重要性是什么?它似乎很少被使用,但人们常常提到它。人们使用甚至关心unicode的好处或原因是什么?
答案 0 :(得分:28)
编程语言用于生成软件。
软件用于解决人面临的问题。
制作软件的成本 。
解决人类问题的软件会产生值。此值可以利润的形式表示,或者成本的减少,具体取决于软件开发人员的业务模型。如何表达价值与本讨论的目的无关;相关的是产生净值。
世界上有70亿人。其中很大一部分是最舒适的阅读文字,不是用拉丁字母书写的。
如果开发人员可以轻松操作用非拉丁字母表编写的文本,那么声称可以解决那些不使用拉丁字母的70亿人中某些人的问题的软件更有效。
因此,支持非拉丁字符集的编程语言降低了软件开发人员的成本,从而使他们能够以更低的成本为更多人解决更多问题,从而产生更多价值。 / p>
Unicode是操纵非拉丁文本的事实标准。
因此,Unicode对编程语言的设计和实现很重要。
我们作为编程语言设计者的目标是创造能够产生最大价值的工具。支持Unicode是一种简单的方法,可以大规模增加可以在软件中解决的真实人类问题的范围和范围。
答案 1 :(得分:4)
最初,有256个可能的字符和许多不同的代码页来表示它们。它成了一个混乱的混乱。支持多种语言和多个字符集成为程序员的噩梦。
然后Unicode Consortium成立了。它创建了一个标准,允许单个字符集包含256 x 256 = 65536个字符(加上其组合),以包含世界上几乎所有语言。
最大的优点是单个字符串可能包含多种语言。这不小。
Unicode现在是自Windows 2000以来在Windows中使用的本机字符规范。它也可以作为HTML和网站上的字符集使用。
如果您的应用程序不支持Unicode,或者不打算支持Unicode,那么您的应用程序将被遗忘只是时间问题。
答案 2 :(得分:3)
能干有什么大不了的 支持一个新的角色。
Unicode不仅仅是“新角色”。这是不需要考虑字符集的字符集。
您更愿意写一个包含欧元符号的字符串吗?
"\x80"
,"\x88"
,"\x9c"
,"\x9f"
,"\xa2\xe3"
,"\xa2\xe6"
,"\xa3\xe1"
,"\xa4"
,"\xa9\xa1"
,"\xd9\xe6"
,"\xdb"
或"\xff"
,具体取决于编码。"\u20AC"
,在每个区域设置中,在每个操作系统上。答案 3 :(得分:2)
Unicode可以支持世界上几乎任何语言。如果没有这样的编码,您将不得不担心为不同语言选择正确的编码,这非常麻烦(更不用说在同一文本块中混合多种语言了,呃)
语言中的Unicode支持意味着语言的本机字符/字符串类型也支持所有这些语言,用户无需担心字符编码或多字节字符等进行计算。当然,在进行I / O时仍然需要识别字符编码,但是在一个合理的编码中进行字符串处理会有很大帮助。
答案 4 :(得分:1)
如果您关心国际化(世界其他地方的AKA)科学符号等,您会关心unicode。 Unicode很难处理,因为我们已经根深蒂固地只支持ASCII。但是现在现代系统支持Unicode,没有理由不对UTF-8进行编码。我知道我在出版工作,很长一段时间我们不得不做像插入公式等gif图像的东西。现在我们可以直接插入unicode,人们可以搜索,复制和粘贴等,我们的代码可以处理它使用unicode正则表达式等。
答案 5 :(得分:1)
如果您希望与母语不是英语的人(英国或美国版本)进行交流,您需要关心。很多。
答案 6 :(得分:1)
正如大家所说 - 支持世界上所有其他语言和语言环境所使用的所有字符和格式。开源和商业开发人员都喜欢这样,因为它将潜在的用户群增加了约20倍(并且还在增长)。
答案 7 :(得分:1)
Unicode是一件好事,因为它消除了字符集问题,让人不用担心。即使您的软件永远不会离开美国,您也不会知道何时会遇到带有奇怪字符的文件名或文本字段,而Unicode会让您无知。
答案 8 :(得分:0)
过去我们有数百个混乱的字符集只是因为美国计算机科学家认为“为什么有人想要使用超过26个拉丁字符,就像我们用英语一样?”
狭隘是一件坏事。