UTF-8、GB2312、GBK、GB18030、ISO-8859-1(也称Latin-1):兼容ASCII编码

ASCII码是单字节的,首位为0,后面表示的值就是Unicode码点,范围为0x00-0x7F,共表示128个字符。

UTF-8和ASCII兼容:因为对于单字节的符号,UTF-8 编码和 ASCII 码是相同的, 所以 UTF-8 能兼容 ASCII 编码。

GB2312和ASCII兼容:对于ASCII范围以内的字符,GB2312编码的机内码(不是区位码)和ASCII兼容。计算机中保存和传输的是GB2312的机内码。

GBK和ASCII兼容:因为GBK完全兼容GB2312,所以也就和ASCII兼容。

GB18030和ASCII兼容:因为GB18030完全兼容GB2312,基本兼容GBK,所以也就和ASCII兼容。

ISO-8859-1和ASCII兼容:ISO-8859-1编码是单字节编码,向下兼容ASCII编码,其范围是0x00-0xFF。其中,0x00-0x7F范围的编码和ASCII编码相同,0x80-0xFF是针对ASCII的扩展。

所以我们在Java编程的时候,如果涉及到中文字符,有时候由于编码和解码的字符集不匹配导致出现乱码,但ASCII字符集一般没有问题。

ASCII:American Standard Code for Information Interchange,美国信息交换标准代码。
GB2312:信息交换用汉字编码字符集–基本集,也称GB 2312-80。
GBK:汉字内码扩展规范。
GB18030:信息技术 中文编码字符集,现在实行的是GB 18030-2005。GB 18030-2022即将实施(实施日期2023-08-01)。
UTF-8:是对Unicode的一种编码方式,最少8位。
ISO-8859-1:也称为Latin-1,此字符集支持部分于欧洲使用的语言。

你可能感兴趣的:(ASCII,GB2312,GBK,GB18030,UTF-8,ISO-8859-1)