当前位置:早雪网网络学院编程文档文件格式 → 每一个软件开发人员绝对必须掌握的关于 Unicode 和字符集的最基础的知识

每一个软件开发人员绝对必须掌握的关于 Unicode 和字符集的最基础的知识

减小字体 增大字体 作者:未知  来源:从互联网收集整理并转载  发布时间:2005-3-12 5:25:46

关键字:     Unicode, Character Set, 字符集, UTF-8, ANSI, ASCII, UTF-7
原文标题:    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know
             About Unicode and Character Sets(No Excuses!)
原文链接:    http://www.joelonsoftware.com/printerFriendly/articles/Unicode.html
作者:       Joel Spolsky
翻译、摘要:  木野狐(ChenRong2003[at]hotmail.com)
日期:       2004-11-29 

ASCII 码
------------------------------------------------------------------------------------
 7 位(00~7F)。 32 ~ 127 表示字符。32 是空格, 32 以下是控制字符(不可见)。
第8位没有被使用。全世界很多人同时对这个位的含义发展了不同的用处。比如 IBM PC 中的 OEM 字符集。
最后就 128 位以下的用处达成共识,制定了 ASCII 标准。
而 128 位以上的可能有不同的解释,这些不同的解释就叫做 code pages.
甚至有用于在同一台电脑上解释多种语言的 code page.

同时,在亚洲发生了更加疯狂的事情。亚洲语言的字符集通常数以千计, 8 位已经不足以表达,这通常用一种
很凌乱的,叫做 DBCS(双字节字符集,double byte character set) 的系统来解决。
这种系统中,有些字符占用 1 字节,有些 2 字节。这样一来,在字符串中向前解析很容易,而倒退却很麻烦。
程序员们被建议,不要使用 s++ 或 s-- 来前进和后退,而使用一些函数,比如 Windows 的 AnsiNext 和
AnsiPrev. 因为这些函数知道是怎么回事。

这些不同的假设(code page)在单个的机器上没有问题。而随着 Internet 的发展,字符串要从一个机器上移到
另一个机器上,这就产生了问题。于是, Unicode 出现了。

Unicode
---------------------------------------------------------------------------------------
Unicode 是一个勇敢的成就。它把在这个星球上的每一个合理的文字系统整合成了一个单一的字符集。
很多人还存在这样的误解: Unicode 仅仅是 16 位的这么简单,每个字符占 16 位,所以一共有 65536 个可能的字符。
然而,这是错误的。不过不要紧,因为


Tags:每一,软件,开发,人员,必须,掌握,关于,Unicode,字符集,基础,知识
[数据载入中...] [返回上一页] [打 印]