编码:字符串变成字节数组。
String-->byte[] :
byte[] getBytes(String charsetName):使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
解码:字节数组变成字符串。
byte[]-->String:
String(byte[] bytes, String charsetName):通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。
示例
import java.util.*;
class EncodeDemo{
public static void main(String[] args)throws Exception{
encode_2();
}
// 多次编码与解码
public static void encode_2()throws Exception{
String s="你好";
System.out.println("s="+s);
byte[] b1=s.getBytes("GBk"); // 使用gbk字符集编码
System.out.println(Arrays.toString(b1));
String s1=new String(b1,"ISO8859-1"); // 使用ISO8859-1字符集解码
System.out.println("s1="+s1);
byte[] b2=s1.getBytes("ISO8859-1"); // 使用ISO8859-1字符集编码
System.out.println(Arrays.toString(b2));
String s2=new String(b1,"gbk"); // 使用gbk字符集解码
System.out.println("s2="+s2);
}
// 编码与解码
public static void encode()throws Exception{
String s="你好";
byte[] b1=s.getBytes("UTF-8");
System.out.println(Arrays.toString(b1));
String s1=new String(b1,"UTF-8");
System.out.println("s1="+s1);
}
}