1.假設檔案用utf-8儲存了中文」操作計算機」,然後使用gbk編碼進行讀取?
string str = fileutils.readfiletostring(new file("/myfile"), "gbk");
system.out.println(str);
str = new string(str.getbytes("gbk"), "utf-8");
system.out.println(str);
可以發現,後續轉成utf-8仍然有部分亂碼,如果儲存的內容是」操作計算」就不會亂碼。為什麼?
2.繼續上述問題,如果使用iso-8859-1進行讀取?
string str = fileutils.readfiletostring(new file("/myfile"), "iso-8859-1");
system.out.println(str);
str = new string(str.getbytes("iso-8859-1"), "utf-8");
system.out.println(str);
可以發現,可以發現無論是」操作計算機」還是」操作計算」、」操 作計算」,都不會亂碼。為什麼?
3.如果檔案採用gbk編碼儲存中文,但是使用utf-8讀取,就會發現怎麼轉都是亂碼? 為什麼?
4.假設**如下,為什麼前面3行都是輸出亂碼?
system.out.println(new string("123你".getbytes("iso-8859-1"), "iso-8859-1"));
system.out.println(new string("123你".getbytes("iso-8859-1"), "gbk"));
system.out.println(new string("123你".getbytes("iso-8859-1"), "utf-8"));
system.out.println(new string("123你".getbytes("gbk"), "gbk"));
system.out.println(new string("123你".getbytes("utf-8"), "utf-8"));
5.請思考,下面的同樣摻和了iso-8859-1,為什麼卻能正常?
system.out.println(new string(new string("123你".getbytes("gbk"), "iso-8859-1")
.getbytes("iso-8859-1"), "gbk"));
6.假設使用http傳送xml,那麼xml報文採用何種編碼傳送和xml的編碼頭部指定的編碼有什麼關係?
<?xml version="1.0" encoding="gbk" ?>
Java字元編碼的轉化問題
我想字串的編碼問題的確會困擾到非常多開發人員。我近期也是被困擾到了。系統字元格式 utf 8 字串 中國 的gb2312編碼位元組陣列bs gb和utf 8編碼位元組陣列bs utf byte bs gb byte bs utf 實驗步驟 1.首先對bs gb分別使用gb2312編碼和utf 8編碼...
java 編碼問題
有乙個頁面是utf 8編碼的 我本地編輯器是utf 8編碼的 這樣是沒問題的 但是有乙個頁面是gbk編碼的 例如這個時候讀取到本地編輯器的時候就會發生亂碼情況。這個時候還是挺麻煩的。首先我把獲得的字串通過 new string s.getbytes gbk utf 8 意思是通過gbk來讀取 然後展...
字元編碼問題
字元編碼主要分兩種 mbcs以及 unicode。以 c cc 為例,以 char 為單位的陣列使用mbcs編碼 如 ascii,gb2312,big5 以wchar t 為單位的陣列使用unicode作為編碼。比如你的程式中使用 char sztitle 窗體標題 此時,sztitle字串使用的的...