| 問個java字符編碼的問題,中文字符用utf8編碼,我直接System.out.println("\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7")能夠在控制臺上打印正出中文來,但是如果\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7在文件中,從文件中讀出來再在控制臺輸出,則輸出的還是\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7,若要從文件中讀出的時候也能夠正確顯示其代表的中文字符,該如何處理? 答:當在程序中的字符串"\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7"表示時,\u5e7f其實在機器內(nèi)部是一個UNICODE值(不是由這6個字符組成的串)。而文本文件中的\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7,其\u5e7f就不是一個UNICODE值,而是由這6個字符組成的串。因此需要轉(zhuǎn)換。 轉(zhuǎn)換的方法代碼參考如下: 
 用該方法測試的結(jié)果如下: 若:文本文件中的串是:ab\u5e7fdd\u5ddeew\u5e02qq\u531721\u4eac\u8def39\u53f7 則:結(jié)果是:ab廣dd州ew市qq北21京路39號 以上僅供你參考 ============== 面少打了一句話。 而如果寫在了文件里,那在讀的時候,\ 會自動轉(zhuǎn)換為\\ 也就是,實際讀取出來的是: 
 所以輸出的時候,看到的是文件里保存的字符串, 而不是 
 | 
|  | 
來自: CevenCheng > 《錯誤筆記&&問題手冊》