Unicode提供了一种相对轻松的方法
如果你没有注意到,那么整个世界都在之外。不幸的是,用不同语言表示文本对程序员来说可能是一个挑战。Unicode是表示文本的通用标准,可以轻松支持几乎任何语言。在这里,我们将了解Unicode的基础知识。
什么是Unicode?
如果您熟悉如何将文本存储在计算机中的技术细节并且您是母语为英语的人,那么您可能听说过ASCII,即信息交换标准代码。ASCII将字节映射到数字,字母,各种符号和控制字符,这些操作可以发出电脑扬声器或发出新线路信号的信号。如果您的主要语言是英语,它就会永远存在并且效果很好。
但是,世界上许多计算机用户都会说其他语言,其中许多语言甚至都不接近英语。如果您是开发人员并且您的软件没有考虑到这一点,那么您可能会遇到一些麻烦。
软件工程师兼作家Joel Spolsky讲述了如果程序员不注意语言环境会发生什么:
“几年前,FogBUGZ的beta测试人员想知道它是否能用日语处理收到的电子邮件。日语?他们用日语发邮件?我不知道。当我仔细查看我们用来解析的商业ActiveX控件时MIME电子邮件消息,我们发现它使用字符集做错了,所以我们实际上必须编写英雄代码来撤消它所做的错误转换并正确地重做它。当我查看另一个商业库时,它也是有一个完全破坏的字符代码实现。我与该软件包的开发人员通信,他有点认为他们“无法做任何事情。” 像许多程序员一样,他只是希望它会以某种方式被吹嘘。
“如果您了解Unicode,那么您可以构建能够轻松使用其他语言的应用程序.Unicode是一个致力于发布真正通用字符集的国际联盟,可以开发真正的通用程序。计算机科学家Donald E. Knuth称这是“我所知道的最好的工具,有助于在不同文化的人之间建立理解。”
因此在Unicode中,字符表示为“代码点”而不是字节,这些字节是从它们实际存储在计算机中的方式中抽象出来的。Unicode标准代表字母,数字,货币符号和书写方向(用于表示从右到左的语言,如日语,希伯来语和阿拉伯语)。
Unicode的历史
如前所述,ASCII已存在很长时间了。虽然它将字符转换为字节,但它只在每个字节中使用7位而不是通常的8位。与此同时,全世界计算机的普及使得代表不同语言成为必要。使用额外位扩展ASCII似乎是最明显的解决方案。问题在于每个公司和都以不同的方式扩展它,使得几乎不可能与使用不同语言的人交换数据。
在20世纪80年代后期,Apple和施乐公司的一些员工决定联合起来解决问题并开发出一种代表地球上所有语言的方法。他们很快就被Sun Microsystems和IBM的人员加入,组成了Unicode Consortium。该标准的第一个版本于1991年发布,并且不断改进。几乎所有处理文本的程序和几乎所有现代操作系统都支持Unicode。
UTF-8,UTF-16,UTF-32
由于Unicode现在无处不在,因此添加对应用程序的支持非常容易。只需查阅您喜欢的编程语言的文档。
Unicode有三种形式:
UTF-8
UTF-16
UTF-32
数字表示存储字符的位数。例如,UTF-8以8位字节存储字符。它也向后兼容 ASCII,并且在网络上使用非常广泛,因为它可以处理外来文本并且仍然保持紧凑。UTF-16使用16位来存储字符,并在紧凑存储和访问字符的能力之间提供良好的平衡。当您不必担心存储空间时,UTF-32是理想的选择。
为何选择Unicode?
他们称之为万维网是有原因的。它几乎普遍可用。如果您是开发人员,那么覆盖全球受众是值得的。这意味着以现代方式表示文本。Spolsky更直言不讳地说:
“所有关于'纯文本= ASCII =字符都是8位'的东西不仅错误,而且是绝对错误的,如果你仍然按照这种方式进行编程,那么你并不比不相信的医生好多了在细菌中。“
Unicode与ASCII
由于ASCII是计算机支持的最低限度,因此它不会消失。如果您绝对肯定您的应用程序只会在英语世界中使用,那么您可以放心使用它。但即使很多外国人学习英语,你仍然可以更好地使用Unicode,因为它比ASCII更灵活。此外,您可能永远不知道用户何时可能要键入欧元符号或带重音的字符。
全球标准
如果您希望您的应用程序真正具有全球性,则必须能够处理英语以外的语言。幸运的是,Unicode提供了一种相对无痛的方法。为什么不立即开始全球化您的软件?
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
宝子们,杭州 房子装修完成啦!这次要给大家分享几家设计超赞的装修公司哦。它们各具特色,从空间规划到风格...浏览全文>>
-
欲筑室者,先治其基。在上海,装修房子对于每个业主而言,都是极为关键的一步,然而,如何挑选一家值得信赖的...浏览全文>>
-
2025年以来,联通支付严格贯彻落实国家战略部署,以数字和科技为驱动,做好金融五篇大文章,履行支付为民社会...浏览全文>>
-
良工巧匠,方能筑就华居;精雕细琢,方可打造美家。当我们谈论装修公司时,选择一家靠谱可靠的公司是至关重要...浏览全文>>
-
在当今社会,随着城市化进程的高速推进,建筑垃圾的产生量与日俱增。据权威数据显示,我国每年建筑垃圾产生量超 ...浏览全文>>
-
家人们,在上海要装修,选对公司那可太重要了!古语有云:"安得广厦千万间,大庇天下寒士俱欢颜。"一个温馨的...浏览全文>>
-
近年来,新能源汽车市场发展迅猛,各大品牌纷纷推出各具特色的车型以满足消费者多样化的需求。作为国内新能源...浏览全文>>
-
近年来,随着汽车市场的不断变化和消费者需求的升级,安徽滁州地区的宝来2025新款车型在市场上引起了广泛关注...浏览全文>>
-
随着汽车市场的不断变化,滁州地区的消费者对高尔夫车型的关注度持续上升。作为大众品牌旗下的经典车型,高尔...浏览全文>>
-
在2023年,大众探影以其时尚的设计和出色的性能赢得了众多消费者的青睐。作为一款小型SUV,探影凭借其紧凑的车...浏览全文>>
- 安徽滁州途安L新车报价2022款,最低售价16.68万起,入手正当时
- 小鹏G7试驾,新手必知的详细步骤
- 别克GL8预约试驾,4S店的贴心服务与流程
- 安徽阜阳ID.4 CROZZ落地价全解,买车必看的省钱秘籍
- 淮北探岳多少钱 2025款落地价,最低售价17.69万起现在该入手吗?
- 安徽淮南大众CC新款价格2025款多少钱能落地?
- 淮北长安启源C798价格,最低售价12.98万起现在该入手吗?
- 安徽淮南途锐价格,各配置车型售价全解析
- 蒙迪欧试驾预约,4S店体验全攻略
- 沃尔沃XC40试驾需要注意什么
- 滁州ID.4 X新车报价2025款,各车型售价大公开,性价比爆棚
- 试驾思域,快速操作,轻松体验驾驶乐趣
- 试驾长安CS35PLUS,一键搞定,开启豪华驾驶之旅
- 天津滨海ID.6 X落地价限时特惠,最低售价25.9888万起,错过不再有
- 天津滨海凌渡多少钱?看完这篇购车攻略再做决定
- 安徽池州长安猎手K50落地价,买车前的全方位指南
- 山东济南ID.6 CROZZ 2024新款价格,最低售价19.59万起,现车充足
- 试驾海狮05EV,新手必知的详细步骤
- 生活家PHEV多少钱 2025款落地价走势,近一个月最低售价63.98万起,性价比凸显
- 奇瑞风云A9试驾,新手必知的详细步骤