20201222-魏凯
2020.12.22
1.CharSequence
1.1 常见的字符编码
GBK:中文简体(采用两个字节)
UTF-8:针对Unicode的一种可变长度字符编码(采用1到4字节存储字符)
Big5:繁体中文
ISO-8859-1:西欧(Latin-1)
- 字节和字符之间是可以转换的,并且会用到字符编码
1.2 java.lang.CharSequence 接口的实现类
(1)java.lang.String
(2)java.lang.StringBuffer
(3)java.lang.StringBuilder
1.3 java.lang.CharSequence 中的抽象方法
(1)int length()
(2)char charAt(int index)
(3)CharSequence subSequence(int start,int end)
(4)String toString()
2.Charset
2.1 String类中的构造方法
(1)public String(byte byte[]):通过使用平台的默认字符集解码指定的byte数组,构造一个新的String实例
(2)public String(byte byte[],int offset,int length):通过使用平台的默认字符集 解码 指定的 byte数组,构造一个新的 String实例
(3)public String( byte bytes[] , Charset charset ) 通过使用指定的 charset 解码指定的 byte数组,构造一个新的 String实例
(4)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)为解码
- 将字节序列解码成字符序列时必须指定与编码的字符集相对应,如果不对应则解码出来的就会是乱码,如果不指定字符集则操作系统会默认字符集。
注:(1)java.nio.charset.Charset类的实例表示字符编码
(2)Charset.defaultCharset()返回JVM的默认charset实例
(3)Charset.forName(String charsetName)返回指定名称的Charset实例
(4)Charset.isSupported(String charsetName)判断当前JVM是否支持指定的字符编码
近期评论