1,解释
1)UTF-8变长的编码方式,可以使用1~4个字节表示一个符号。
image.png
2)Java字符串length属性,返回字符串的字符数。中文、英文均视为一个字符
3)String类的getBytes()方法,返回不同字符集的字节流数据。本质从Unicode字符集编码向其它字符集编码转换的过程
使用指定的编码,将字符串转为字节数组(字节流)。Encodes this String into a sequence of bytes using the given charset
4)String的构造方法,根据不同字符集的字节流数据产生一个字符串对象。public String(byte bytes[], String charsetName)
使用指定的编码来decode字节数组。decoding the specified array of bytes using the specified charset。
其它字符集编码向Unicode字符集编码转换的过程。
5)在JVM中、在内存中、在代码里声明的每一个char、String,字符仅以一种形式存在,那就是Unicode。一个中文加载到内存,表示形式固定,就是unicode的编码
6)编码转换发生在,JVM内部和OS的文件系统。JVM和OS的交界处,也就是各种输入/输出流起作用的地方。
2,输出
1)字符、字节与length。
image.png
2)编码与字节,中文-utf8
image.png
3)utf8-中文
image.png
4)Integer.parseInt("e4", 16);//e4 一个字节
Integer.toHexString(228);// -> 16进制e4
网友评论