编码表
大约 2 分钟JavaIO流
为什么需要编码表
计算机要准确的存储和识别各种字符集符号,就需要进行字符编码。一套字符集必然有至少一套字符编码。如果编码和解码不是用一个编码表就会出现乱码问题。
常见编码表
- ASCII:用于显示现代英语,主要包括控制字符(回车键、退格、换行键等和可显示字符英文大小写字符、阿拉伯数字和西文符号)。基本的ASCI字符集,使用7位表示一个字符,共128字符。ASCI的扩展字符集使用8位表示一个字符,共256字符,方便支持欧洲常用字符。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。
- GBK:最常用的中文码表。是在GB2312标准基础上的扩展规范,使用了双字节编码方案,共收录了21003个汉 字,完全兼容GB2312标准,同时支持繁体汉字以及日韩汉字等。
- Unicode
- UTF-8编码:可以用来表示Unicode标准中任意字符,它是电子邮件、网页及其他存储或传送文字的应用 中,优先采用的编码。互联网工程工作小组(ETF)要求所有互联网协议都必须支持UTF-8编码。它使用一至 四个字节为每个字符编码
- 编码规则:128个US-ASCI字符,只需一个字节编码。拉丁文等字符,需要二个字节编码。大部分常用字(含中文),使用三个字节编码。其他极少使用的Unicode辅助字符,使用四字节编码
- ANSI:其实不是具体的编码表,它指代系统的默认编码表。例如:简体中文的Windows系统默认编码是GBK。