public class HelloWorld{
public static void main(String[] ages) throws Exception{
String s="呵呵Hh";
//转换成字节序列用的是项目默认的编码GBK
byte[]bytes=s.getBytes();
for (byte b:bytes) {
//把字节(转换成了int)以16进制的方式显示
System.out.print(Integer.toHexString(b&0xff)+" ");
}
System.out.println();
byte[]bytes2=s.getBytes("gbk");
//gbk编码中文占用2个字节,英文占用1个字节
for (byte b:bytes2) {
//把字节(转换成了int)以16进制的方式显示
System.out.print(Integer.toHexString(b&0xff)+" ");
}
System.out.println();
byte[]bytes3=s.getBytes("utf-8");
//utf-8编码中文占用3个字节,英文占用1个字节
for (byte b:bytes3) {
//把字节(转换成了int)以16进制的方式显示
System.out.print(Integer.toHexString(b&0xff)+" ");
}
System.out.println();
//Java是双字节编码utf-16be
byte[]bytes4=s.getBytes("utf-16be");
//utf-16be编码中文占用2个字节,英文占用2个字节
for (byte b:bytes4) {
//把字节(转换成了int)以16进制的方式显示
System.out.print(Integer.toHexString(b&0xff)+" ");
}
System.out.println();
/*
* 当你的字节序列是某种编码时,这个时候想把字节序列变成字符串时,
* 也需要用这种编码方式,否则会出现乱码
*/
String str1=new String(bytes4);//用项目默认的编码
System.out.println(str1);
String str2 =new String(bytes4,"utf-16be");
System.out.println(str2);
}
}
JAVA字符编码操作
最新推荐文章于 2023-02-27 08:00:00 发布