java utf8 转换al32utf8_java与Unicode
生活随笔
收集整理的這篇文章主要介紹了
java utf8 转换al32utf8_java与Unicode
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在notepad++中用utf8格式保存“你好”兩個漢字,文件名為a.txt.
在eclipse中設置編碼格式為gbk.在eclipse中用FileReader讀取這個文件。FileReader的read方法返回的為int型,用char做強制轉換。結果出現亂碼,第一個亂碼為“浣”。
由于a.txt中的編碼格式為utf8,故在硬盤中"你"保存為1110 0100,1011 1101,1010 0000.由于eclipse的格式為gbk,每個gbk字符占兩個字節。故以gbk格式讀取時,1110 0100,1011 1101(0xE4BD)被解讀為gbk格式的“浣”。又因為java的字符串在內存中以unicode表示,故做了一次編碼轉換。這個"浣"讀入內存后采用unicode表示,具體表示為0x6D63.
最后FileReader的read方法返回的int型數值是"浣"unicode編碼也就是0x6D63的十進制形式。用char強轉之后依然是“浣”。
用char進行強轉時,總是會試圖用unicode格式去解碼。例如,不論eclipse的編碼格式是什么,(char)28003永遠輸出的是"浣",因為“浣”的unicode編碼為0x6D63,而28003轉換為十六進制也是0x6D63。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java utf8 转换al32utf8_java与Unicode的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中兴第一个完成5G毫米波全部测试!单用户
- 下一篇: 不限速了!百度网盘青春版安装包免费下载: