導航:首頁 > 編程語言 > java字元集

java字元集

發布時間:2023-12-04 08:37:35

A. java 多次以不同字元集編碼解碼後回不來的問題。

//一:
a=new String(a.getBytes("UTF-8"), "GBK");
a=new String(a.getBytes("GBK"), "UTF-8");
對於這一種情況,你之所以輸出的是亂碼是因為a.getBytes("UTF-8")的意思是按"UTF-8"的編碼方式把字元串a轉換成為位元組數組,new String(a.getBytes("UTF-8"), "GBK")的意思是用"GBK"的編碼方式來解釋a.getBytes("UTF-8")得到的位元組數組來生成字元串。而不是用"GBK"的方式來編碼。所以當然是輸出亂碼。
//二:
a=URLEncoder.encode(a, "UTF-8");
a=URLDecoder.decode(a, "GBK");
a=URLEncoder.encode(a, "GBK");
a=URLDecoder.decode(a, "UTF-8");
你可以試一試下面的方式:
a="中";
a=URLEncoder.encode(a, "UTF-8");
a=URLDecoder.decode(a, "UTF-8");
System.out.println(a);

a=URLEncoder.encode(a, "GBK");
a=URLDecoder.decode(a, "GBK");
System.out.println(a);

B. Java中如何查看字元串是什麼字元集

判斷java字元串的字元集有多種方法,我們一一討論如下:
1、通過把未知編碼字元串,用猜想的編碼再解碼,觀察字元串是不是正確還原了。
原理:假如目標編碼沒有數組中的字元,那麼編碼會破壞,無法還原。
缺點:假如字元少,而正巧錯誤的猜想編碼中有這種位元組,就會出錯。
如:new String("tested str".getBytes("enc"),"enc")
2、大多數時候,我們只要判斷本地平台編碼和utf8,utf8編碼相當有規律,所以可以分析是否是utf8,否則使用本地編碼。
原理:分析byte[]來判斷規律。
缺點:有時,個別本地編碼位元組在utf8中也會出現,導致出錯,需要分析。
如:判斷是否utf-8代碼
public static boolean isValidUtf8(byte[] b,int aMaxCount){
int lLen=b.length,lCharCount=0;
for(int i=0;i
byte lByte=b[i++];//to fast operation, ++ now, ready for the following for(;;)
if(lByte>=0) continue;//>=0 is normal ascii
if(lByte<(byte)0xc0 || lByte>(byte)0xfd) return false;
int lCount=lByte>(byte)0xfc?5:lByte>(byte)0xf8?4
:lByte>(byte)0xf0?3:lByte>(byte)0xe0?2:1;
if(i+lCount>lLen) return false;
for(int j=0;j=(byte)0xc0) return false;
}
return true;

C. Java 如何設置打開文件內容的字元集

打開的時候不需要設,在讀寫文件的時候設置字元集就可以了

閱讀全文

與java字元集相關的資料

熱點內容
建行app如何話費隨機立減 瀏覽:774
58同城如何解除qq綁定 瀏覽:818
男朋友三年前的壓縮文件 瀏覽:433
js讀取伺服器cookie 瀏覽:721
什麼編程可以控制瀏覽器 瀏覽:277
微信文愛聊天截圖圖片 瀏覽:427
糖果小號密碼查看工具 瀏覽:191
pm一般做什麼編程 瀏覽:937
linux共享文件給mac 瀏覽:428
ps另存為時找不到文件 瀏覽:818
iphone6s朋友圈視頻沒聲音 瀏覽:728
win10系統工具文件夾 瀏覽:862
微信扔出去的怎樣找回來 瀏覽:744
編程怎麼錄視頻 瀏覽:470
東方財富app解套率怎麼計算 瀏覽:74
win10系統為excel文件在哪裡 瀏覽:578
字幕文件哪個網站下載 瀏覽:745
app怎麼推廣推廣 瀏覽:674
小鳥壁紙哪個文件夾刪不掉 瀏覽:419
閨蜜圈app怎麼樣 瀏覽:931

友情鏈接