久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java中這個頁面默認是utf-8編碼的,1輸出亂碼可以理解,可是2就不理解了?

瀏覽:177日期:2024-01-18 13:07:46

問題描述

java中這個頁面默認是utf-8編碼的,1輸出亂碼可以理解,可是2就不理解了?

s按照gbk解碼,在按照gbk組合成String,為什么就不是亂碼了呢? 那2這個字符串是最終是什么編碼 utf-8還是gbk

問題解答

回答1:

1:s.getBytes()不帶參數的話會調用jdk默認的編碼(你的可能是utf-8)將字符串解碼成byte[],然后你使用gbk的編碼方式重新將byte[]編碼成字符串,所以會出現亂碼。

2.s.getBytes(’gbk’)你將字符串按照gbk的方式解碼后又重新使用gbk方式編碼,所以不會出現亂碼。

回答2:

樓上說的沒錯,補充一點jdk的默認編碼是file.encoding中指定的編碼,可以通過Dfile.encoding=GBK這樣來修改JVM的默認編碼。

再補充一點編解碼的知識,“你好”這個中文要在計算機中傳輸,必然要把它轉換為2進制。怎么轉二進制就是這里說的解碼。編碼的方式有很多種,比如Unicode字符集。這個字符集里面就是各種符號對應的數字,比如你用2345來表示,然后按照一定的方式轉換的二進制(具體怎么轉換可以網上找一下具體過程)。接收到這一串二進制數,怎么轉為漢字就是這里說的編碼。編碼需要按照一定的方式去解才能得到正確的字符對應關系,比如你的二進制為0101010010,需要按照utf-8的方式去編碼才能得到你這個符號并顯示出來。

標簽: java
主站蜘蛛池模板: 昆明市| 万载县| 金湖县| 武乡县| 体育| 陆河县| 泽库县| 丰宁| 余庆县| 绿春县| 道孚县| 得荣县| 兖州市| 濉溪县| 新宾| 内乡县| 赣榆县| 区。| 通河县| 探索| 大埔县| 大名县| 重庆市| 大连市| 观塘区| 武邑县| 伊川县| 崇左市| 城固县| 阿克陶县| 呼玛县| 邵东县| 永新县| 台前县| 海口市| 鄂伦春自治旗| 莎车县| 元氏县| 壶关县| 绿春县| 宜春市|