字符编码(英语:Character encoding)
我个人认为字符编码观点(不做规范参考):
众所周知,机器语所有的信息最终都是一个二进制串,每一个二进制位(bit)0和1两种状态表示。
而字符编码是为方便对每个字符信息一个集合体,以便于编程人员的对字符显示后期处理。为了方便在不同平台的信息传递的准确性,所以产生统一字符编码的规范编码。
字符编码简介(信息来至百度百科):
字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
字符编码:
编码名称 | 字节数 范围 | 时间 | 说明 |
---|---|---|---|
ASCII | (1 byte) 00 - 7F |
1961 年提出 1967 年发表 1967 年完善 |
这套编码规则是由美国定制,一共规定了128个字符的编码,其中有 96 个可打印 字符,包括常用的字母、数字、标点符号等,另外包括 32 个控制字符。 0~31 控件字符 48~57 为数字 65~90 97~122 分别为大写字母和小写字母 相差32 |
ISO-8859-1 EBCDIC |
(1 byte) 00 - FF |
1964 年 | 这套编码规则由ISO组织制定,是 ASCII 的扩展字符编码,是对 ASCII 后 127~255 范围进行编码。 |
ANSI MBCS |
(2 byte) 0000-FFFF |
无论是ASCII码还是ISO-8859-1码,都无法对拥有几万个的汉字进行编码,于是产生 了用于显示本国语言,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称 为 ANSI 编码在简体中文系统下,ANSI 编码代表 GB-2312 编码,在日文操作系统下, ANSI 编码代表 JIS 编码。 |
|
GB-2312 GB-2312-80 |
(2 byte) A1A1-FEFE |
1980 年发布 1981 年使用 |
GB2312也是ANSI编码里的一种,对ANSI编码最初始的ASCII编码进行扩充,为了满 足国内在计算机中使用汉字的需要,中国国家标准总局发布了一系列的汉字字符集国家标 准编码,统称为GB码,或国标码。 |
GB K | (2 byte) 8140-FEFE |
GBK即汉字内码扩展规范,K为扩展的汉语拼音中“扩”字的声母。英文全称(Chinese Internal Code Specification)。GBK编码标准兼容GB2312,共收录汉字21003个、符号 883个,并提供1894个造字码位,简、繁体字融于一库 |
|
GB-18030 | (1~4 byte) | 2000 年发布 | GB18030全称汉字内码扩展规范,是现在最新的内码字集于2000年发布,并于200 1年强制执行,包含了中国大部分少数民族的语言字符,收录汉字数超过70000余个 |
Big-5 | (2 byte) 8140-FEFE |
1984 年发布 | 由台湾五大厂商宏碁、神通、佳佳、零壹以及大众一同制定了一种繁体中文编码方 案,因其来源被称为五大码,英文写作Big5,后来按英文翻译回汉字后,普遍被称为大 五码。是在台湾、香港与澳门地区,使用的是繁体中文字符集。 |
Unicode | (2 byte) 0000-FFFF |
所有字符都转为16位。为了解决各国字符编码的兼容性,称为万国码。缺点效率不 高,浪费内存。 |
|
UTF-16 | (2 byte) | UTF-16是UNICODE的具体实现,16即16位,UTF-16即是这个来由,定义了 UNICODE字符在计算机中的存储方式,UTF-16同样使用了两个字节来表示任何字符, 这样使得操作字符串非常高效,这也是java把UTF-16作为字符在内存中存储的格式的 重要原因。 |
|
UTF-8 | (1~6 byte) | 优化 Unicode ,UTF-16可以根据不同的符号自动选择编码的长短。比如英文字母可 以只用1个字节就够了。 |
|
UTF-7 | |||
Bin (二进制) |
Dec (十进制) |
Hex (十六进制) |
缩写/字符 | 字 符 | Bin (二进制) |
Dec (十进制) |
Hex (十六进制) |
缩写 | 字符 |
---|---|---|---|---|---|---|---|---|---|
0000 0000 | 0 | 00 | NULL | 空字符 | 0000 0000 | 69 | 45 | E | 大写字母E |
0000 0001 | 1 | 01 | SOH |
标题开始 | 0000 0000 | 70 | 46 | F | 大写字母F |
0000 0010 | 2 | 02 | STX |
正文开始 | 0100 0111 | 71 | 47 | G | 大写字母G |
0000 0011 | 3 | 03 | ETX |
正文结束 | 0100 1000 | 72 | 48 | H | 大写字母H |
0000 0100 | 4 |
04 | EOT |
传输结束 | 0100 1001 | 73 | 49 | I | 大写字母I |
0000 0101 | 5 | 05 | ENQ |
请求 | 0100 1010 | 74 | 4A | J | 大写字母J |
0000 0110 | 6 | 06 | A |