ascii(美国信息交换标准码):
最早的字符编码,使用7位二进制数字代表一个字符,使用一个字节(Byte)存储,最高位置0。ascii可以表示128个字符,包括所有的大小写英文字母、数字、标点符号及一些特殊字符,详见附图。
扩展ascii:
最高位置1,使用8位二进制数字表示256种字符。增加了128个特殊符号和外来语字母。
区位码:
一种表示汉字的方法,我们在高考、四级等等报名时在机读卡上都填写过。由4位十进制构成。前两位为区码,后两位为位码。01-09区是特殊字符、10-55区是按拼音排序的3755个常用汉字、56-87区是3008个按部首排序的汉字。
gb2312(汉字信息交换码):
ascii码只能表示英文,为了在计算机输入汉字,所以国家根据区位码制定了gb2312(国标码)。包含682个符号和6763个汉字。gb码由4位十六进制数字构成,两个首位为0的字节表示一个字符,是一种双字节编码,编码范围0x2121-0x7E7E。
区位码和国标码之间的对应关系--将汉字区位码的区号和位号分别转换成十六进制,然后加0x2020就可以得到gb码。
gbk(汉字扩展内码规范):
由于gb2312只收录了常用汉字,在应用经常有生僻字无法表示,所以国家扩展了gb2312得到的大字符集,共有20902个汉字。
机内码:
由于gb码制定的时候,晕了头把最高位规定为0,在实际应用中和ascii码产生了冲突,计算机无法分辨一个字节是一个ascii字符还是半个gb字符,所以搞了个补丁似的机内码。机内码把gb码的2个字节最高位置1,这样计算机认字符时就知道看到首位为1的字节,2个组成一个字符。gb码就可以在计算机中和ascii无冲突的存储与使用。
机内码和gb码的对应关系--将gb码加上0x8080就是机内码了。
asni码:
在ascii基础上扩充的其它语言字符编码。gb码就是其中的一种,还包括日文、朝鲜文、繁体中文(big5)等等,它们都和ascii兼容。不过这些编码互相却不兼容,因为它们都用最高为1的字节存储,计算机无法区分也就不能同时使用。
big5(大五码):
这也是我们用得较多的内码,由台湾制定的汉字编码,包含420个符号和13070个繁体汉字。编码范围是0x8140-0xFE7E和0x81A1-0xFEFE,图形符号存储在0xA140-0xA17E及0xA1A1-0xA1FE,汉字为0xA440-0xF97E及0xA4A1-0xF9FE。
1.ascii码表
2.扩展ascii码表
3.部分区位码表
01区 (各类符号)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0100 、 。 · ˉ ˇ ¨ 〃 々 - ~ ‖ … ' ' " " 〔 〕
0120 〈 〉 《 》 「 」『 』 〖 〗 【 】 ± × ÷ ∶ ∧ ∨ ∑ ∏
0140 ∪ ∩ ∈ ∷ √ ⊥ ∥ ∠ ⌒ ⊙ ∫ ∮ ≡ ≌ ≈ ∽ ∝ ≠ ≮ ≯
0160 ≤ ≥ ∞ ∵ ∴ ♂ ♀ ° ′ ″ ℃ $ ¤ ¢ £ ‰ § № ☆ ★
0180 ○ ● ◎ ◇ ◆ □ ■ △ ▲ ※ → ← ↑ ↓ 〓
02区 (各类数字)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0200 ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⒈ ⒉ ⒊
0220 ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ ⒓ ⒔ ⒕ ⒖ ⒗ ⒘ ⒙ ⒚ ⒛ ⑴ ⑵ ⑶
0240 ⑷ ⑸ ⑹ ⑺ ⑻ ⑼ ⑽ ⑾ ⑿ ⒀ ⒁ ⒂ ⒃ ⒄ ⒅ ⒆ ⒇ ① ② ③
0260 ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ㈠ ㈡ ㈢ ㈣ ㈤ ㈥ ㈦ ㈧ ㈨ ㈩
0280 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ Ⅺ Ⅻ
08区 (拼音、注音)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0800 ā á ǎ à ē é ě è ī í ǐ ì ō ó ǒ ò ū ú ǔ
0820 ù ǖ ǘ ǚ ǜ ü ê ㄅ ㄆ ㄇ
0840 ㄈ ㄉ ㄊ ㄋ ㄌ ㄍ ㄎ ㄏ ㄐ ㄑ ㄒ ㄓ ㄔ ㄕ ㄖ ㄗ ㄘ ㄙ ㄚ ㄛ
0860 ㄜ ㄝ ㄞ ㄟ ㄠ ㄡ ㄢ ㄣ ㄤ ㄥ ㄦ ㄧ ㄨ ㄩ
09区 (制表符)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0900 ─ ━ │ ┃ ┄ ┅ ┆ ┈ ┉ ┉ ┊ ┋ ┌ ┍ ┎ ┏
0920 ┐ ┑ ┒ ┓ └ ┕ ┖ ┗ ┘ ┙ ┚ ┛ ├ ┝ ┞ ┟ ┠ ┡ ┢ ┣
0940 ┤ ┥ ┦ ┧ ┨ ┩ ┪ ┫ ┬ ┭ ┮ ┯ ┰ ┱ ┲ ┳ ┴ ┵ ┶ ┷
0960 ┸ ┹ ┺ ┻ ┼ ┽ ┾ ┿ ╀ ╁ ┃ ╃ ╄ ╅ ╆ ╇ ╈ ╉ ╊ ╋