20201222-张景安
总结:
1.CharSequence
1.1 常见的字符编码
GBK:中文简体(采用两个字节)
UTF-8:针对Unicode的一种可变长度字符编码(采用1到4字节存储字符)
Big5:繁体中文
ISO-8859-1:西欧(Latin-1)
- 字节和字符之间是可以转换的,并且会用到字符编码
2.Charset
2.1 String类中的构造方法
-
public String(byte byte[]):通过使用平台的默认字符集解码指定的byte数组,构造一个新的String实例
-
public String(byte byte[],int offset,int length):通过使用平台的默认字符集 解码 指定的 byte数组,构造一个新的 String实例
-
public String( byte bytes[] , Charset charset ) 通过使用指定的 charset 解码指定的 byte数组,构造一个新的 String实例
-
public String( byte bytes[] , int offset , int length , Charset charset ) 通过使用指定的 charset 解码指定的 byte数组,构造一个新的 String实例
2.2 编码和解码
2.2.1 编码
将字符序列(char sequence)编译成字节序列(byte sequence)为编码
2.2.2 解码
将字节序列(byte sequence)编译成字符序列(char sequence)为解码
- 将字节序列解码成字符序列时必须指定与编码的字符集相对应,如果不对应则解码出来的就会是乱码,如果不指定字符集则操作系统会默认字符集。
注:
-
java.nio.charset.Charset类的实例表示字符编码
-
Charset.defaultCharset()返回JVM的默认charset实例
-
Charset.forName(String charsetName)返回指定名称的Charset实例
-
Charset.isSupported(String charsetName)判断当前JVM是否支持指定的字符编码
点赞
评论