相信大家平时遇到过不少中文乱码问题,大家是怎么解决的,是使用new String(s.getByte(“ISO-8859-1"), “GBK")这样的方式吗?如果是的话,那么大家有没有问过自己以下问题:
a)s.getByte(“ISO-8859-1")做了什么?
b)newString(byte[], “GBK")又做了什么?
c)这个转换过程的意义是干什么?
d)转码前后,占内存大小改变了吗?变大还是变小了?
一、常见字符集简介
ASCII
7bits,不支持中文
ISO-8859-1
8bits,不支持中文
UTF-8
西文1字节,中文3字节
GBK/GB2312/GB18030
西文1字节,中文一般都是2字节
Unicode