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); }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。