eclipse如何查看当前项目的编码方式+java编码方式总结

eclipse如何查看当前项目的编码方式+java编码方式总结我们写代码有时候会出现这种情况:在自己电脑上运行的很正常,字符显示很完美,把自己的代码给别人或者换台机器运行,就会出现乱码的现象,这是为什么呢?都是编码方式在作祟,不同的机器或java项目可能使用的默认编码不同。如何查看eclipse中java项目的编码方式:如图右击项目名称,然后选择propertices选项,就可以了我的这个项目的默认编码方式是utf-8,下面对java…

大家好,欢迎来到IT知识分享网。

我们写代码有时候会出现这种情况:在自己电脑上运行的很正常,字符显示很完美,把自己的代码给别人或者换台机器运行,就会出现乱码的现象,这是为什么呢?都是编码方式在作祟,不同的机器或java项目可能使用的默认编码不同。

如何查看eclipse 中java项目的编码方式:

eclipse如何查看当前项目的编码方式+java编码方式总结

如图右击项目名称,然后选择propertices选项,就可以了

eclipse如何查看当前项目的编码方式+java编码方式总结

我的这个项目的默认编码方式是utf-8 ,下面对java的编码方式总结一下,记录一下:

import java.io.UnsupportedEncodingException;

public class EncodeDemo {
	public static void main(String[] args) throws UnsupportedEncodingException{
		String s = "我爱ABC";
		byte[] byte1 = s.getBytes();//以系统默认的编码方式转换为字节流
		System.out.print("  默 认 编 码 输 出 :");
		for(byte b : byte1){
			System.out.print(Integer.toHexString(b & 0xff) + " ");
		}
		
		System.out.print("\nutf-8编码输 出:");
		byte[] byte2 = s.getBytes("utf-8");//以utf-8的编码转换
		for(byte b : byte2){
			System.out.print(Integer.toHexString(b & 0xff) + " ");
		}
		/*
		 * 以上两个输出说明该工程使用的默认编码是utf-8
		 * 该编码格式一个汉字栈占用三个字节,英文字母占用一个字节
		 */
		
		System.out.print("\n  gbk编码输出:");
		byte[] byte3 = s.getBytes("gbk");
		for(byte b : byte3){
			System.out.print(Integer.toHexString(b & 0xff) + " ");
		}
		/*
		 * gbk编码格式,中文占两个字节,英文字母占一个字节
		 */
		
		System.out.print("\nutf-16be输出:");
		/*
		 * java使用的双字节编码(utf-16be)
		 * 中文英文都是两个字节
		 */
		byte[] byte4 = s.getBytes("utf-16be");
		for(byte b : byte4){
			System.out.print(Integer.toHexString(b & 0xff) + " ");
		}
		
		/*
		 * 当我们吧utf-16be编码格式的byte4转换为数组时,不指定编码方式,而是使用
		 * 项目默认编码方式,发现打印出来的是乱码,之后将编码方式改为上面utf-16be的
		 * 格式再打印发现没有乱码。同理,如果我们想将byte3转换为字符串再输出,则需要
		 * 使用对应的gbk的编码方式,这样才不会乱码
		 */
		System.out.println();
		String s1 = new String(byte4);//使用项目默认的编码(utf-8)
		System.out.println(s1);
		String s2 = new String(byte4,"utf-16be");
		System.out.println(s2);
	}
}

代码中b & 0xff 操作是为了去掉整数高24位多余的0,因为我们知道一个字节8位,而int是四个字节,所以byte转换为int后就变成了32位,但高24位都是0,影响视觉效果,所以用这个操作把它去掉就好了。输出结果如下图:

eclipse如何查看当前项目的编码方式+java编码方式总结

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12762.html

(0)
上一篇 2024-03-11 11:33
下一篇 2024-03-11 13:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信