编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

常用字符集

看战争片时,经常会看到剧中出现收发电报的情况,发报员拿着密码本将文字翻译成某种码文发出,收报员使用同样的密码本将收到的码文再翻译成文字。这个密码本其实是发送方和接收方约定的一套电码表,电码表中规定了文字和电码之间的一一对应关系。

在计算机之间,同样无法直接传输一个一个的字符,而只能传输二进制数据。为了使发送的字符信息能以二进制数据的形式进行传输,同样需要使用一种“密码本”,它叫做字符码表。字符码表是一种可以方便计算机识别的特定字符集,它是将每一个字符和一个唯一的数字对应而形成的一张表。针对不同的文字,每个国家都制定了自己的码表,下面就来介绍几种最常用的字符码表,如表所示。

ASCII美国标准信息交换码,使用7位二进制数来表示所有的大小写字母、数字0〜9、标点符号以及在美式英语中使用的特殊控制字符
ISO8859-1拉丁码表,兼容ASCII,还包括了西欧语言、希腊语、泰语、阿拉伯语等
GB2312中文码表,兼容ASCII,每个英文占1个字节,中文占2个字节(2个字节都为负数,最高位都为1)
GBK、GB18030兼容GB2312,包含更多中文,每个英文占一个字节,中文占2个字节(第1个字节为 负数,第2个字节可正可负)
Unicode同际标准码,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满   足跨语言、跨平台进行文本转换、处理的要求,每个字符占2个字节。Java中存储的 字符类型就是使用Unicode编码
UTF-8是针对Unicode的可变长编码,可以用来表示Unicode标准中的任何字符,其中,英   文占1个字节,中文占3个字节,这是程序开发中最常用的字符码表

表中列举了最常用的几种码表,通过选择合适的码表就能完成字符和二进制数据之间的转换,从而实现数据的传输。

未经允许不得转载: 技术文章 » Java编程 » 常用字符集