计算机通用“编码知识“,字符编码(Ascill、Unicode、GBK、ANSI、UTF-8、UTF-32)

二进制

  • Binary
    • 字符或数据的存储方式
    • 编码就是用二进制内容映射字符或数据

Ascill

  • 美国信息交换标准码字符集
    • 128个字符
Ascill字符集
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 \ 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

Unicode

  • 统一(多八位编码)字符集
    • 通用世界上其他字符集、单字符占用大
    • Uncicode下回原编码不会丢失任何信息

GBK

  • 汉字编码字符集
    • 包含全部中文字符号
    • 不限于纯中文字符网站, 外国人看会出现乱码

ANSI

  • Unicode实现方式的2 字节延伸编码
    • 在原Ascill字符集的拓展216 个字符的(2字节
    • 不同语言之间的ANSI码之间不能互相转换(非同一标准

ANSI 是 Windows 中的默认字符集,因此所有浏览器都支持它

UTF-8

  • Unicode实现方式的可变长度编码
    • 国际主流编码
    • 在原Ascill字符集的拓展

UTF-32

  • Unicode实现方式的固定32比特编码
    • 中文编译所占空间是GBK的两倍

乱码

  • 不同地区编码的标准不同

  • 最新字符在旧的字符集下解析

  • 保存源文件,读取源文件的不统一

    ANSI, UTF-8在原Ascill字符集表现不明显

    如: 浏览器以ANSI解析UTF-8的html源文件

    Windows在解析VBS, CMD, 以ANSI解析UTF-8源文件

锟斤拷