为了可以在计算机保存他们的文字,他们决定采用 127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了最后一个状态255。从128 到255这一页的字符集被称"扩展字符集"。
  一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊的 字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符了。
  后 来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符 集里的内容。结果扩展之后的编码方案被称为 GBK 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。
  因此他们写的程序为了支持中文处 理,必须要注意字串里的每一个字节的值,如果这个值是大于127的,那么就认为一个双字节字符集里的字符出现了
  UNICODE 来到时,一起到来的还有计算机网络的兴起,UNICODE 如何在网络上传输也是一个必须考虑的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现了,顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE到 UTF时并不是直接的对应,而是要过一些算法和规则来转换。
  在网络里传递信息时有一个很重要的问 题,就是对于数据高低位的解读方式,一些计算机是采用低位先发送的方法,例如我们PC机采用的 INTEL 架构,而另一些是采用高位先发送的方式,在网络中交换数据时,为了核对双方对于高低位的认识是否是一致的,采用了一种很简便的方法,就是在文本流的开始时 向对方发送一个标志符——如果之后的文本是高位在位,那就发送"FEFF",反之,则发送"FFFE"。
  摘录于http://blog.csdn.net/hjsunj/archive/2008/03/27/2223766.aspx

最新文章

  1. iOS 面试题(一):寻找最近公共 View --转自唐巧
  2. Java--如何使用sun.misc.Unsafe完成compareAndSwapObject原子操作
  3. js:语言精髓笔记6----作用域
  4. 在cmd下输入/g无效
  5. cdoj 1324 卿学姐与公主 线段树裸题
  6. .net web部署(IIS Express && Nancy Self-Hosting)
  7. Python获取并修改hosts
  8. jquery:赋值
  9. 最短路径(Dijkstra算法)
  10. jquery固定表头和列头
  11. 大数相加 Big Num
  12. OHDSI——数据标准化
  13. Linux 操作系统文件略解
  14. easyloader分析与使用
  15. Chrome浏览器查看 iframe信息 OpenFrame
  16. 一个很棒的Flutter学习资源列表
  17. 隔离级别 && SNAPSHOT
  18. tp5 redis 单例模式 转载
  19. 命令行方式操作O365
  20. 深度学习读书笔记之RBM(限制波尔兹曼机)

热门文章

  1. @Transactional 的回滚
  2. Python连接SqlServer+GUI嵌入式——学生管理系统1.0
  3. nyoj 1 A + B Problme
  4. java操作RabbitMQ添加队列、消费队列和三个交换机
  5. django 中 css文件的调用
  6. [UWP]用Win2D实现镂空文字
  7. vue项目引入自定义.css的样式文件
  8. Flex容器拖动(Bordercontainer为例)
  9. iOS开发调试概览
  10. Intellij IDEA如何设置快速调整字体大小的快捷键