所谓计算机编码,就是将通用的语言转换为能在计算机交流的语言。
1. 汉字编码
汉字编码分两种,国标码,机内码。
(1)国标码,即GB2312-80在国标码的字符集中,收集了一级汉字3755个,二级汉字3008个,图形符号682个,共7445个。一个汉字对应一个区位码,由四位数字组成,前两位数字(0-94),为区码,后两位(0-94)为位码。
(2) 机内码是指汉字在计算机中的编码 ,汉字的机内码占两个字节,分别称为机内码的高位与低位。它们与区位码的关系如下:机内码高位=区码+A0H ,机内码低位=位码+A0H。 汉字字库是由所有汉字的字模信息构成的。一个汉字字模信息占若干字节,究竟占多少个字节由汉字的字形决定。例如,如果用16×16点阵表示一个汉字,则一个汉字占16行,每行有16个点,在存储时用两个字节存放一行上16个点的信息,对应位为"0"表示该点为"白","1"表示该点为"黑"。因此,一个16×16的汉
占2*16=32个字节。
2.英文字符编码:英文由于使用国家众多,最初标准鱼龙混杂,最后,美国有关的标准化组织出台了ASCII(American Standard Code for Information Interchange)编码,统一规定了英文常用符号用哪些二进制数来表示。ASCII是标准的单字节字符编码方案,用于基于文本的数据。
而对于我们Internet来说,各种语言都有,不仅有中文,英文,还有日文,法文等诸多语言,如果没有一种共同的编码方式,将会造成很大的不便。
附ascii表
二进制 | 十进制 | 十六进制 | 缩写 | 可以显示的表示法 | 名称/意义 |
---|---|---|---|---|---|
0000 0000 | 0 | 00 | NUL | ␀ | 空字符(Null) |
0000 0001 | 1 | 01 | SOH | ␁ | 标题开始 |
0000 0010 | 2 | 02 | STX | ␂ | 本文开始 |
0000 0011 | 3 | 03 | ETX | ␃ | 本文结束 |
0000 0100 | 4 | 04 | EOT | ␄ | 传输结束 |
0000 0101 | 5 | 05 | ENQ | ␅ | 请求 |
0000 0110 | 6 | 06 | ACK | ␆ | 确认回应 |
0000 0111 | 7 | 07 | BEL | ␇ | 响铃 |
0000 1000 | 8 | 08 | BS | ␈ | 退格 |
0000 1001 | 9 | 09 | HT | ␉ | 水平定位符号 |
0000 1010 | 10 | 0A | LF | ␊ | 换行键 |
0000 1011 | 11 | 0B | VT | ␋ | 垂直定位符号 |
0000 1100 | 12 | 0C | FF | ␌ | 换页键 |
0000 1101 | 13 | 0D | CR | ␍ | 归位键 |
0000 1110 | 14 | 0E | SO | ␎ | 取消变换(Shift out) |
0000 1111 | 15 | 0F | SI | ␏ | 启用变换(Shift in) |
0001 0000 | 16 | 10 | DLE | ␐ | 跳出数据通讯 |
0001 0001 | 17 | 11 | DC1 | ␑ | 设备控制一(XON 启用软件速度控制) |
0001 0010 | 18 | 12 | DC2 | ␒ | 设备控制二 |
0001 0011 | 19 | 13 | DC3 | ␓ | 设备控制三(XOFF 停用软件速度控制) |
0001 0100 | 20 | 14 | DC4 | ␔ | 设备控制四 |
0001 0101 | 21 | 15 | NAK | ␕ | 确认失败回应 |
0001 0110 | 22 | 16 | SYN | ␖ | 同步用暂停 |
0001 0111 | 23 | 17 | ETB | ␗ | 区块传输结束 |
0001 1000 | 24 | 18 | CAN | ␘ | 取消 |
0001 1001 | 25 | 19 | EM | ␙ | 连接介质中断 |
0001 1010 | 26 | 1A | SUB | ␚ | 替换 |
0001 1011 | 27 | 1B | ESC | ␛ | 跳出 |
0001 1100 | 28 | 1C | FS | ␜ | 文件分割符 |
0001 1101 | 29 | 1D | GS | ␝ | 组群分隔符 |
0001 1110 | 30 | 1E | RS | ␞ | 记录分隔符 |
0001 1111 | 31 | 1F | US | ␟ | 单元分隔符 |
0111 1111 | 127 | 7F | DEL | ␡ | 删除 |
ASCII可显示字符
|
|
|
3.通用字符Unicode(universal character set)通用字符集
编码方式:采用的是UCS-2,使用16位编码空间,满足了各类语言的使用。
实现方式:utf(Unicode Transformation Format)之所以有不同的实现方式,是为了节省空间而考虑的。如utf-8.一种变长编码,因为西文字符中通常是7位的ascii字符,UTF-8,他将7位的ascii字符仍用7位编码表示,占用一个字节(首位补0),而遇到其他的unicode字符混合情况,将按一定算法转换,每个字符使用1-3个字节编码,并利用首位为0,1进行识别。还有UTF-16等。
4.此外对于不同的设备,对相同字符读取字节顺序也有不同,mac设备从低字节读取,windows和linux从高字节读取,分别命名为,UTF-16-BE(大端序),UTF-16 -LE(小端序)。
/*********************分割线***************************************/
在web编程中通常会涉及到字符转换,而对编程语言通常有相应的函数
html中:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> %注意设置在title前面,否则title会显示为其他字符方式
PHP中:header("Content-Type: text/html;charset=utf-8");
此外推荐一个软件,csdn一个网友编写的字符转换软件