编码与解码

编码:
计算机只能识别 二进制的数据。
为了让计算机应用更加的广泛, 它应该要去识别各个国家的文字。
将各个国家的文字用数字来表示,然后一一对应起来,形成一张表,这个表称之为编码表。
编码 就是利用编码表将二进制数据编为对应的字符。

例如汉字编码 —》
UTF-8:
GBK:
Unicode: 实际上是UTF-16 java中使用的 编码;

ASCII: 美国标准信息交换码。 用7个位来表示每一个字符。 128种字符;

ISO8859-1 : 拉丁码表、欧洲码表。 是用8个位来表示一个字符, 一个字节。 256种字符,扩展了一部分德语、法语等, 还扩展了拉丁字母。 单字节编码。 只是符号 比ASCII更多。不能显示中文字符,因为没有对应的中文编码

GB2312 : 中文的编码表
GBK: GB2312的升级版本,融合了更多的中文文字占用两个字节16位 来表示一个中文, 3万多个字, 2的16次方 6万多。也包含了英文, iso 8859-1 以及中文字符编码表
Unicode : 国际标准码, 融合了多种文字。 所有的文字 都是占用两个字节, 不管是什么文字。 一个文字占用两个字节。

java语言使用的编码表

UTF-8: 万国码。它里面的一个文字,所占用的字节大小是不确定的 1-3个字节不等….. 英文一般是1个字节, 中文是3个字节。

如果文字在码表中没有对应的编码,或者 一个字符在两个不同的码表中 对应的数值不同。就可能出现乱码。

解码 : 文字解码成为对应数值,然后再转换为对应的二进制存储
注意点: 你用什么码表进行编码,那么你就应该用什么码表 进行解码, 否则可能会出现乱码(可能出现是因为 有些编码表是互相兼容的)。

你可能感兴趣的:(编码与解码)