java字符編碼

1.常見的字符編碼有UTF-8、GBK、IOS8859-1

2.常見的中文亂碼有??、涓浗、中国

下面做個測試類

public static void main(String[] args) throws UnsupportedEncodingException {
		
    	String zwutf = new String("中國".getBytes(),"UTF-8");
    	String zwUTF_GBK = new String(zwutf.getBytes(),"GBK");
    	String zwUTF_IOS = new String(zwutf.getBytes("ISO8859-1"));
    	System.out.println("utf-8——>gbk:"+zwUTF_GBK);
    	System.out.println("utf-8gbk——>uft-8:"+new String(zwUTF_GBK.getBytes("GBK")));
    	System.out.println("utf-8——>ISO:"+zwUTF_IOS);
    	
    	String zwGBK = new String("中國".getBytes(),"GBK");
    	String zwGBK_UTF = new String(zwGBK.getBytes(),"UTF-8");
    	String zwGBK_IOS = new String(zwGBK.getBytes(),"ISO-8859-1");
    	System.out.println("gbk——>utf-8:"+zwGBK_UTF);
    	System.out.println("gbk-UTF-8——>uft-8:"+new String(zwGBK_UTF.getBytes("gbk")));
    	System.out.println("gbk——>ISO:"+zwGBK_IOS);
    	
    	String zwios = new String("中國".getBytes(),"ISO-8859-1");
    	String zwios_UTF = new String(zwios.getBytes(),"UTF-8");
    	String zwios_gbk = new String(zwios.getBytes(),"GBK");
    	System.out.println("ISO——>utf-8:"+zwios_UTF);
    	System.out.println("ISO——>GBK:"+zwios_gbk);		
    	
    	
	}
輸出的結果是

utf-8——>gbk:涓浗
utf-8gbk——>uft-8:中國
utf-8——>ISO:??
gbk——>utf-8:涓浗
gbk-UTF-8——>uft-8:中國
gbk——>ISO:涓浗
ISO——>utf-8:中国
ISO——>GBK:盲賂顱氓聸陸


可以知道

這種類型的中文亂碼“涓浗”主要是gbk——>utf-8的轉換除了問題

“??”這種類型中文亂碼主要是utf-8——>ISO的轉換出了問題

中国” 這種類型的問題主要是ISO——>utf-8轉換除了問題



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章