ASCII码表在线查询:

http://www.weste.net/tools/ASCII.asp

ASCII字符集编码

ASCII码是7位编码,字符在计算机中以其ASCII码方式表示,其长度为1个字节, 有符号字符型数。编码范围是0x00-0x7F(0~127)。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x20和0x7F共33个控制字符。

ASCII 十六进制 控制字 代码含义 
00           00            NUL      空 
01           01            SOH      标题开始 
02           02            STX      正文开始 
03           03            ETX      正文结束 
04           04           EOT        传输结否 
05           05           ENQ       询问 
06           06           ACK       确认 
07           07           BEL        响铃 
08           08           BS         退格 
09           09           HT         横向列表 
10           0A           LF         换行 
11          0B            VT         纵向列表 
12          0C           FF            换页 
13          0D           CR           回车 
14          0E           SO            换档(Shift-Out) 
15          0F           SI            换档(Shift-In) 
16          10           DLE        数据链扩展 
17          11           DC1        设备控制1 
18          12           DC2        设备控制2 
19          13           DC3        设备控制3 
20           14           DC4        设备控制4 
21          15           NAK        不确认 
22          16           SYN        同步字符 
23          17           ETB        传输块结否 
24          18           CAN        作废 
25          19           EM         介质结束 
26          1A           SUB        置换 
27          1B           ESC        扩展 
28          1C           FS            文件分隔符 
29          1D           GS         组分隔符 
30          1E           RS         记录分隔符 
31          1F           US         单位分隔符

ASCII码对照表

ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~

只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。

GB2312字符集编码

规定: 一个小于127的字符的意义与原来相同, 但两个大于127的字符连在一起时, 就表示一个汉字, 前面的一个字节(他称之为高字节)从0xA1用到 0xF7, 后面一个字节(低字节)

从0xA1到0xFE, 这样我们就可以组合出大约7000多个简体汉字了. 在这些编码里, 我们还把数学符号,罗马希腊的 字母,日文的假名们都编进去了, 连在 ASCII 里本来就有的数字,标点,字母都统统重新编了两个字节长的编码, 这就是常说的"全角"字符, 而原来在127号以下的那些就叫"半角"字符了.

中国人民看到这样很不错, 于是就把这种汉字方案叫做 "GB2312". GB2312 是对 ASCII的中文扩展.

GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二字的汉语拼音缩写。

GB2312 字符集 (character set) 只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。GB2312 共收录有 7445 个字符,其中简化汉字 6763 个,字母和符号 682 个。

GB2312 将所收录的字符分为 94 个区,编号为 01 区至 94 区;每个区收录 94 个字符,编号为 01 位至 94 位。GB2312 的每一个字符都由与其唯一对应的区号和位号所确定。例如:汉字“啊”,编号为 16 区 01 位。

GB2312 字符集的区位分布表:

区号    字数    字符类别
01      94    一般符号
02      72    顺序号码
03      94    拉丁字母
04      83    日文假名
05      86    Katakana
06      48    希腊字母
07      66    俄文字母
08      63    汉语拼音符号
09      76    图形符号
10-15            备用区
16-55    3755    一级汉字,以拼音为序
56-87    3008    二级汉字,以笔划为序
88-94            备用区

这本手册列出了 GB2312 的全部字符和它们的区位号。

GB2312 编码

GB2312 原始编码 (encoding) 是对所收录的每个字符都用两个字节 (byte) 表示。第一字节为“高字节”,由字符的区号值加上 32 而形成;第二字节为“低字节”,由字符的位号值加上 32 而形成。例如:汉字“啊”,编号为 16 区 01 位。它的高字节为 16 + 32 = 48 (0x30),低字节为 01 + 32 = 33 (0x21),合并而成的编码为 0x3021。

在区位号值上加 32 的原因大慨是为了避开低值字节区间。

由于 GB2312 原始编码与 ASCII 编码的字节有重叠,现在通行的 GB2312 编码是在原始编码的两个字节上各加 128 修改而形成。例如:汉字“啊”,编号为 16 区 01 位。它的原始编码为 0x3021,通行编码为 0xB0A1。

如果不另加说明,GB2312 常指这种修改过的编码。

GB2312的编码范围是0xA1A1-0x7E7E,去掉未定义的区域之后可以理解为实际编码范围是0xA1A1-0xF7FE。

上面这句有误,应该说GB2312的每一个汉字由两个字节构成,其中每一个字节的范围都在0xA1 ~0xFE,正好每一个字节都有94个编码范围,与区位码个数完全对应。

EUC-CN可以理解为GB2312的别名,和GB2312完全相同。

区 位码更应该认为是字符集的定义,定义了所收录的字符和字符位置,而GB2312及EUC-CN是实际计算机环境中支持这种字符集的编码。HZ和 ISO-2022-CN是对应区位码字符集的另外两种编码,都是用7位编码空间来支持汉字。区位码和GB2312编码的关系有点像 Unicode和UTF-8。

GBK字符集编码

但是中国的汉字太多了, 我们很快就就发现有许多人的人名没有办法在这里打出来, 特别是某些很会麻烦别人的国家领导人. 于是我们不得不继续把 GB2312 没有用到的码位找出来老实不客气地用上.

后来还是不够用, 于是干脆不再要求低字节一定是127号之后的内码, 只要第一个字节是大于127就固定表示这是一个汉字的开始, 不管后面跟的是不是扩展字 符集里的内容. 结果扩展之后的编码方案被称为 "GBK" 标准, GBK 包括了 GB2312 的所有内容, 同时又增加了近20000个新的汉字(包括繁体字)和符号.

GBK 编码是GB2312编码的超集,向下完全兼容GB2312,同时GBK收录了Unicode基本多文种平面中的所有CJK汉字。同 GB2312一样,GBK也支持希腊字母、日文假名字母、俄语字母等字符,但不支持韩语中的表音字符(非汉字字符)。GBK还收录了GB2312不包含的 汉字部首符号、竖排标点符号等字符。

GBK的整体编码范围是为:高字节范围是0×81-0xFE,低字节范围是0x40-7E和0x80-0xFE,不包括低字节是0×7F的组合。

低字节是0x40-0x7E的GBK字符有一定特殊性,因为这些字符占用了ASCII码的位置,这样会给一些系统带来麻烦。

有 些系统中用0x40-0x7E中的字符(如“|”)做特殊符号,在定位这些符号时又没有判断这些符号是不是属于某个 GBK字符的低字节,这样就会造成错误判断。在支持GB2312的环境下就不存在这个问题。需要注意的是支持GBK的环境中小于0x80的某个字节未必就 是ASCII符号;另外就是最好选用小于0×40的ASCII符号做一些特殊符号,这样就可以快速定位,且不用担心是某个汉字的另一半。Big5编码中也 存在相应问题。
CP936和GBK的有些许差别,绝大多数情况下可以把CP936当作GBK的别名。

GB18030字符集编码

GB18030编码向下兼容GBK和GB2312,兼容的含义是不仅字符兼容,而且相同字符的编码也相同。GB18030收录了所有Unicode3.1中的字符,包括中国少数民族字符,GBK不支持的韩文字符等等,也可以说是世界大多民族的文字符号都被收录在内。

GBK和GB2312都是双字节等宽编码,如果算上和ASCII兼容所支持的单字节,也可以理解为是单字节和双字节混合的变长编码。GB18030编码是变长编码,有单字节、双字节和四字节三种方式。

GB18030 的单字节编码范围是0x00-0x7F,完全等同与ASCII;双字节编码的范围和GBK相同,高字节是0x81-0xFE,低字节的编码范围是0x40 -0x7E和0x80-FE;四字节编码中第一、三字节的编码范围是0x81-0xFE,二、四字节是0x30-0x39。

Windows 中CP936代码页使用0x80来表示欧元符号,而在GB18030编码中没有使用0x80编码位,用其他位置来表示欧元符号。这可以理解为是 GB18030向下兼容性上的一点小问题;也可以理解为0x80是CP936对GBK的扩展,而GB18030只是和GBK兼容良好。

unicode字符集编码

每一种语言的不同的编码页,增加了那些需要支持不同语言的软件的复杂度。因而人们制定了一个世界标准,叫做unicode。unicode为每个字符 提供 了唯一的特定数值,不论在什么平台上、不论在什么软件中,也不论什么语言。也就是说,它世界上使用的所有字符都列出来,并给每一个字符一个唯一特定数值。

Unicode 的最初目标,是用1个16位的编码来为超过65000字符提供映射。但这还不够,它不能覆盖全部历史上的文字,也不能解决传输的问题 (implantation head-ache's),尤其在那些基于网络的应用中。已有的软件必须做大量的工作来程序16位的数据。
因 此,Unicode用一些基本的保留字符制定了三套编码方式。它们分别是UTF-8,UTF-16和UTF-32。正如名字所示,在UTF-8中,字符是 以8位序列来编码的,用一个或几个字节来表示一个字符。这种方式的最大好处,是UTF-8保留了ASCII字符的编码做为它的一部分,例如,在UTF-8 和ASCII中,“A”的编码都是0x41.

UTF-16和UTF-32分别是Unicode的16位和32位编码方式。考虑到最初的目的,通常说的Unicode就是指UTF-16。在讨论Unicode时,搞清楚哪种编码方式非常重要。

UTF-8字符集编码

Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三 个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显 示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。

GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。

GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:

GBK、GB2312--Unicode--UTF8

UTF8--Unicode--GBK、GB2312

对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。

ASCII码对照表

下表列出了字符集中的 0 - 127。

代码 字符 代码 字符 代码 字符 代码 字符
0   32 [空格] 64 @ 96 `
1   33 ! 65 A 97 a
2   34 " 66 B 98 b
3   35 # 67 C 99 c
4   36 $ 68 D 100 d
5   37 % 69 E 101 e
6   38 & 70 F 102 f
7   39 ' 71 G 103 g
8 ** 40 ( 72 H 104 h
9 ** 41 ) 73 I 105 i
10 ** 42 * 74 J 106 j
11   43 + 75 K 107 k
12   44 , 76 L 108 l
13 ** 45 - 77 M 109 m
14   46 . 78 N 110 n
15 47 / 79 O 111 o
16 48 0 80 P 112 p
17 49 1 81 Q 113 q
18 50 2 82 R 114 r
19  

ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解相关推荐

  1. ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解(转载)

    ASCII字符集编码 ASCII码是7位编码,字符在计算机中以其ASCII码方式表示,其长度为1个字节, 有符号字符型数.编码范围是0x00-0x7F(0~127).ASCII字符集包括英文字母.阿拉 ...

  2. ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解 1

    ASCII字符集编码     ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文字母.阿拉伯数字和标点符号等字符.其中0x00-0x20和0x7F共33个控制字符.     ...

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

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

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

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

  5. java所使用的字符集是_Java常用字符集编码详解

    Java常用字符集编码详解 Web开发的时候经常会遇到一些字符编码的错误,如页面乱码等问题,所以有必要需对字符编码有所了解,以下是Ricki收集的一些资料(可能不是很全,但希望对你有所帮助) Java ...

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

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

  7. 字符集编码详解【ASCII 、GB2312、GBK、GB18030、unicode、UTF-8】(转)

    ASCII字符集编码 ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文字母.阿拉伯数字和标点符号等字符.其中0x00-0x20和0x7F共33个控制字符. 只支持ASCI ...

  8. python 中文编码类型 gb2312 gb180_常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、UTF-8、unicode...

    http://blog.csdn.net/zhoubl668/article/details/6914018 ASCII ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文 ...

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

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

最新文章

  1. keras/tensorflow 模型保存后重新加载准确率为0 model.save and load giving different result
  2. sublime福音:微信小程序组件及API补全插件
  3. 终于不瞎编了!AI学会了“谷歌一下”,回答问题正确率达90% | DeepMind
  4. 域名”A记录,MX记录,CNAME记录,TTL值,URL转发”解释
  5. Randomize select algorithm 随机选择算法
  6. swagger 修改dto注解_Web服务开发:Spring集成Swagger,3步自动生成API文档
  7. SSM:出现Connections could not be acquired from the underlying database异常的解决
  8. Centos YUM国内163源
  9. laravel的foreach
  10. python运行怎么下一步_简明Python3教程 18.下一步是什么
  11. using和名空间namespace
  12. ospf 指定dr_OSPF的基本配置及DR /BDR选举的实验
  13. ARM购HPC软件专家Allinea叫板英特尔和IBM
  14. latex 编译生成的 PDF 中字体有锯齿
  15. php判断股票涨停,常用的五种股票打板思路与常见的几种涨停板打板判断依据
  16. 数字化住宅小区对计算机网络有需求,浅谈智能小区宽带接入及其技术发展趋势...
  17. wps的ppt怎么存html,如何将网页快速转换为WPS与WORD文档 ppt怎么转换成word文档
  18. 2022全新Java学习路线图动力节点(五)框架之路
  19. 【电力系统经济调度】多元宇宙算法求解电力系统多目标优化问题附Matlab
  20. Android Developer:合并清单文件

热门文章

  1. 使用30元开发板UNO D1 R32构筑物联网开发环境
  2. 考勤信息管理 员工打卡
  3. Linux(CentOS)常用的150个命令
  4. 2022.3.17网易暑期实习游戏研发岗第一题
  5. 【雅特力】单片机AT32F421系列入门资料
  6. stm32板间串口通信escape协议
  7. 昆仑通态和台达变频器通讯自己做的通讯例子,可以控制变频器启停,点动,调速
  8. linux卸载思科,ciscodk教你卸载Linux软件
  9. Could not set property ‘id‘ of ‘‘ with value Cause: IllegalArgumentException: argument type mismatch
  10. Telerik UI 2022 R1