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是否支持指定的字符编码

评论