在Eclipse中查看项目默认的编码格式:
右击项目——> PRoperties(属性) ——> Resource ——> Test file encoding
例如,创建了一个项目名为Test的项目,右击Test,步骤如下图:
GBK编码格式是项目默认的编码格式
点击Other可以为项目选择其他编码格式:
设置完成后点击Apply,然后OK
public class Encode { public static void main(String[] args)throws Exception{ String s="梦想"; byte[] bytes1=s.getBytes();//转化成字节序列用的是项目默认的编码GBK System.out.print("默认编码(GBK): "); for(byte b:bytes1){ /* * 把字节(转换成了int)以16进制的方式显示 * int是4个字节(32位),byte是一个字节,所以要在前面添加24个0 * 24个0并无意义,所以与0xff进行相与,只留下后8位 */ System.out.print(Integer.toHexString(b&0xff)+" "); } System.out.println(); /* * 以指定编码格式显示 * gbk编码中文占用两个字节,英文占用一个字节 */ //以指定编码格式显示时会抛出异常,可以通过throws Exception回避异常 byte[] bytes2=s.getBytes("gbk"); System.out.print("GBK: "); for(byte b:bytes2){ System.out.print(Integer.toHexString(b&0xff)+" "); } System.out.println(); /* *utf-8编码中文占用3个字节,英文占用一个字节 */ byte[] bytes3=s.getBytes("utf-8"); System.out.print("utf-8: "); for(byte b:bytes3){ System.out.print(Integer.toHexString(b&0xff)+" "); } System.out.println(); /* * java是双字节编码 :utf-16be * utf-16be编码 中文占用2个字节,英文占用2个字节 */ byte[] bytes4=s.getBytes("utf-16be"); System.out.print("utf-16be: "); for(byte b:bytes4){ System.out.print(Integer.toHexString(b&0xff)+" "); } System.out.println(); /* * 当字节序列是某种编码时,这个时候想把字节序列变成 * 字符串,也需要用这种编码方式,否则会出现乱码 */ //bytes4是utf-16be,用项目默认的编码转换时会出现乱码 String str1=new String(bytes4); //后面无参数时,表示采用项目默认编码 System.out.println(str1); String str2=new String(bytes4,"utf-16be"); System.out.println(str2); }}运行结果:
默认编码(GBK): c3 ce cf eb GBK: c3 ce cf eb utf-8: e6 a2 a6 e6 83 b3 utf-16be: 68 a6 60 f3 h?梦想
新闻热点
疑难解答