猿问

Java编码问题

发现各种编码输出的字节数组都不会变,为什么呢

public class Test {
	
	public static void main(String [] args) throws Exception{
		String str = "怒骂ABC";
		byte [] byte1 = str.getBytes("gbk");//编码格式为项目默认,即utf-8
		for(byte b : byte1) {
			System.out.print(Integer.toHexString(b & 0xff) + " "); //中文两个字节,英文一个
		}
		System.out.println();
		byte [] byte2 = str.getBytes("gb2312");
		for(byte b : byte1) {
			System.out.print(Integer.toHexString(b & 0xff) + " ");
		}
	}
}


fenkapian
浏览 1661回答 2
2回答

4栋706的猴子

GBK 包括了 GB2312 的所有内容,所以用这两种编码打印出来的都一样,如果你用一个utf-8或者其他的编码格式,打印出来的就不同了,代码如图

fenkapian

第15行换成byte2,也一样,输出的还是不变
随时随地看视频慕课网APP

相关分类

Java
我要回答