现在的位置: 首页 > 综合 > 正文

所有程序必须掌握的字符集和编码技术

2013年10月03日 ⁄ 综合 ⁄ 共 1032字 ⁄ 字号 评论关闭

好久没有来看看自己的博客了, 最近再看一些书,很有启发;写了一些摘要,希望对大家有帮助;;

 

 

以前8位pc上使用ACSII编码表示各个字符;它能够用32 到 127 之间的数字表示各个字符.(当时的字符集是无重音字母);; 空格编码:32   字母A 编码   65;
这种编码能够方便的用七个二进制位来表示;; 因有8位的空间, 我们可以把128----255的编码用作其它的用途;;不同的地方有不同的使用用途;;
 
亚洲国家的字符表有成千上万个字符,无法用一个字节编码表示; 就引入了DBCS双字节系统; 这个字符系统将一些字符存储位一个字节, 而让另外一些占据两个字节;
 
 
注意:: 一个字节就是一个字符,以及一个字符就是8个二进制位,,是没有移植性的;;;
 
 
Unicode字符集:: 它试图包括地球上的所有合理的文字体系;;
Unicode组织为各种字母表中的每个理想化的字母分配一个神奇的符号U+067.后面这些数字是16进制的;; Unicode能够定义的字母个数没什么限制,其实实际用的已经远超出65536个;; 可见并不是每个Unicode字母都能真正挤压成两个字节;;
 
 
编码知识;;
Unicode有几种编码方式;传统的是Ucs-2或UTF-16;;有高低模式位;;全部2字节编码;;;
另一种UTF-8模式,采用1字节,2字节,3自己,甚至6字节编码;;
utd—7用7位表示一个字符,高位是0;;
 
 
不管用什么编码方案来来编码Unicode字符串”Hello”(U+0048; U+0065; U+006c; U+006c; U+006f),只要抓住一点:::字母可能是不出现的,如果试图使用的编码方案中没有相应的Unicode代码点的等价内容;通常会显示一个小问号”?”;或者更为先进一点显示一个方框;;
 
传统的编码方式不下几百种,,不过它们仅仅能正确的存放一些代码点, 将所有的其它代码点转变成问号,流行的英语文本编码方案有 Windows-152与ISO-8859-1即Latin-1(同样对任何西欧语种都有用);;不过如果试图用这种编码方试来存放俄语&西伯莱语字母;那么得到结果将是一簇问号;;UTF 7,8,16与32都能正确的存放任何代码点的良性特性;;
 
 
极其重要的一件事:: 有一个字符, 如果不知道它所使用的编码方案试毫无意义的;
 
不用遐想,纯文本就是ASCII;;
如果再内存,文件,电子邮件中有一个字符串,那么应该知道它使用的是什么编码方案,否则,就不能正确的显示或解释给用户

 

抱歉!评论已关闭.