关于ASCII和GB2312、GBK、GB18030、UNICODE,这篇文章的讲解很有趣,读者比较容易理解。ASCII-->GB2312-->GBK-->GB18030-->UNICODE的发展历程 这里,我就大概总结下:

ASCII编码

ASCII编码起源于美国,用一个字节来表示一个字符,因此可以表示256个字符。起初,美国人只使用了1-127个字符,但很快,其他国家开始用尽了剩下的字符(128-255,称为扩展字符集)。


GB2312编码

后来,中国也引进了计算机,发现常用的汉字有6000多个,但是在ANCII编码方案中的所有字符已经被使用殆尽。此时,GB2312编码应运而生。 GB2312编码方案规定:2个字符表示一个汉字。一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字。这样就可以组合出大约7000多个简体汉字。


GBK编码

后来,中国程序员发现,使用GB2312编码方案还是无法表示某些字,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。这既是GBK编码,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。   这种方案,1个汉字==2个字符


UNICODE编码

在UNICODE编码出现之前,各个国家都有自己的一套编码方案,因此搞得谁也不认识谁,谁也不支持别人的编码。   此时,为了国际统一,ISO(国际标谁化组织),重新搞一个包括了地球上所有文化、所有字母和符号的编码!这就是Unicode编码。Unicode是用两个字节来表示为一个字符,总共可以组合出65535不同的字符


ASCII时代:一个汉字==2个字符 UNICODE时代:一个汉字==1个字符

为什么使用Unicode

当开发应用程序时,当然应该考虑利用Unicode的优点。即使现在你不打算对应用程序进   行本地化,开发时将Unicode放在心上,肯定可以简化将来的代码转换工作。此外,Unicode还   具备下列功能: • 可以很容易地在不同语言之间进行数据交换。 • 使你能够分配支持所有语言的单个二进制. exe文件或DLL文件。 • 提高应用程序的运行效率(本章后面还要详细介绍)。 Win2000以后的系统从底层支持Unicode字符。就现在来看,尽量要要用Unicode字符,这样可以提高程序效率,避免系统在内部进行转换。Win2000以后的系统中,所有API函数只接受Unicode字符,如果传入ASCII字符,系统会自动把它转换成Unicode字符,再调用函数。

转载于:https://www.cnblogs.com/gisldq/p/4892219.html

(转载)关于ASCII和GB2312、GBK、GB18030、UNICODE相关推荐

  1. 细说ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32编码

    参考: <编码标准-GB2312 GBK GB18030> <字符编码笔记:ASCII,Unicode 和 UTF-8> <字体编辑用中日韩汉字Unicode编码表> ...

  2. 各种编码格式(GB2312,GBK,GB18030,unicode,utf-8)之间的关系

    汉字常用编码格式 为了在屏幕上显示字符.需要下面几个步骤: 制作所有字符对应的字模.比如大写字母A长什么样.这个模样就是最终显示在屏幕上图形,即我们看到的字符A. 为对所有的字符进行编码.比如大写字母 ...

  3. 编码全解:从ASCII/ISO-8859/GB2312/GBK到Unicode的UCS-2/UCS-4/UTF-8/UTF-16/UTF-32

    1.ASCII编码 为了能在电报.打印机.计算机等电信设备上进行信息交换,就必须为不同的设备制定统一的编码格式.早期的电信设备字符编码基本都是使用6位编码.1963年美国国家标准协会(ANSI)制定并 ...

  4. ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别

    ASCII,unicode, utf8 ,big5 ,gb2312,gbk,gb18030等几种常用编码区别 最近老为编码问题而烦燥,下定决心一定要将其弄明白!本文主要总 结网上一些朋友提供的 asc ...

  5. 字符集、字符编码、国际化、本地化简要总结(UNICODE/UTF/ASCII/GB2312/GBK/GB18030)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   普通的linux 和 普通的windows.    ...

  6. 大端小端,ascii,unicode,utf8,utf16,utf32,gb2312,gbk,gb18030等字符编码问题

    字符编码的问题让我困惑了好久的一段时间,其实简单的想,字符编码没有什么东西的,可是想真弄明白还是花去了我一点时间,前端时间写了一个简单的log程序,主要的工作就是支持系统运行时输出日志信息,同时允许定 ...

  7. GB2312, GBK, GB18030 这几种字符集主要的区别

    转载自:http://www.zhihu.com/question/19677619 1 GB2312-80 GB 2312 或 GB 2312-80 是中国国家标准简体中文字符集,全称<信息交 ...

  8. 编码标准-GB2312 GBK GB18030

    关于 ASCII编码 可以查看我的另外一篇博客 编码标准-ASCII 关于 Unicode 可以参考我的另外一篇博客 Unicode 编码标准-GB2312 GBK GB18030 基本概念 区位码 ...

  9. 常用字符集(ASCII,ISO8859-1,GB2312,GBK,Unicode)和字符编码(UTF-8,UTF-16)

    转自:https://blog.csdn.net/wn084/article/details/80363792 参考:https://blog.csdn.net/halchan/article/det ...

  10. 一文搞清楚中文编码们:GB2312, GBK, GB18030, Big5

    目录 1. GB2312 2. Big5 3. GBK 4. GB18030 5. CJK 前一篇我转载的这个博主的博文:ANSI是什么编码?中有这样一段小故事: 话说计算机是由美国佬搞出来的嘛,他们 ...

最新文章

  1. Science给博士新生的“欢迎”信:5点期望太扎心!
  2. silverlight 中javascript 代码与托管代码的互调用 以及一些思考
  3. python 空对象模式_Python 单例模式(3种方式)
  4. 32岁学python 人工智能_python深入学习好还是直接学人工智能好?
  5. 6.24AppCan移动开发者大会价值30万的展示机会归了谁?
  6. python网页提交表单_用Python的urllib库提交WEB表单
  7. jQuery - slice( start, [end] ) Method
  8. 无线打印 airprint 服务器,怎么设置普通打印机也能airprint无线打印
  9. c 语言 农历,C++算法系列之中国农历的算法
  10. MFC设置编辑框内容
  11. 汇编语言,大写字母转换为小写
  12. Unity 之 ShaderGraph Input节点解析汇总
  13. Python Tensorflow + CNN + Opencv 英雄联盟小地图识别,LOL Minimap Scanner
  14. CSS三列布局(五种方式)
  15. No.059<软考>《(高项)备考大全》【冲刺13】《软考高项极简知识点(2)》
  16. ansible的变量和机密
  17. MeanTeacher文章解读+算法流程+核心代码详解
  18. 神奇的sqrt函数以及高精度记时函数
  19. 7005-艺赛旗RPA8.0产品介绍(2019.01)
  20. ROS入门、ROS完整教程

热门文章

  1. 【shell编程基础0】bash shell编程的基本配置
  2. 驰骋工作流引擎2016年第1次组团培训日程
  3. Ubuntu linux下的录屏
  4. bat中的“多线程”处理代码
  5. 让你的创业失败的18个昏招 都归结到这里
  6. java+long.builder_java.lang.StringBuilder.append(long lng)方法实例
  7. (48)VHDL实现8位奇偶校验电路(process语句语句)
  8. FPGA可综合语句建立原则
  9. java 空的构造函数_用javassist创建空的构造函数(java)不能上班
  10. poi doc转docx_编写简历及Python转Word文档为Pdf(续)