这篇文章主要讲解了“Java String类型的编码方式转换是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java String类型的编码方式转换是什么”吧!
String类型的编码方式转换
在JAVA中,String类型的编码方式转换,String作为一个媒介,实质是字节数组byte[]的编码转换。
字符串编码后的字节数组必须通过同一编码方式才能够解码。
实操代码如下:
结果显示:
String字符集的编码和解码
String编码
byte[] getBytes()
使用平台的默认字符集将该String编码位一系列字节,将结果存储到新的字节数组中
byte[] getBytes(String charsetName)
使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组当中
String解码
String(byte[] bytes)
通过使用平台的默认字符集解码指定的字节数组来构造新的String
String(byte[] bytes, String charsetName )
通过指定的字符集解码指定的字节数组来构造新的String
//编码:把文字转换成字节(使用指定的编码)
public static void main(String[] args) throws Exception {
String name="我们终会开始,以理想为船只,以笔为武器,以决心为理性,Good luck!";
//byte[] bytes = name.getBytes();//默认字符集(utf-8);
byte[] bytes = name.getBytes("GBK");
System.out.println(bytes.length);
System.out.println(Arrays.toString(bytes));
//解码:把文字转换成对应的中文形式(编码前 和 编码后的字符集必须一致,否则乱码)
byte[] bytes1 = name.getBytes();//默认字符集(utf-8);
System.out.println(bytes.length);
System.out.println(Arrays.toString(bytes1));
String rs=new String(bytes1);
System.out.println(rs);
byte[] bytes2 = name.getBytes("GBK");//默认字符集(utf-8);
System.out.println(bytes.length);
System.out.println(Arrays.toString(bytes2));
String rs1=new String(bytes2,"GBK");
System.out.println(rs1);
}