国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

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

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

問題解答

回答1:

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

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

回答2:

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

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

標簽: java
主站蜘蛛池模板: 洛扎县| 金山区| 舞阳县| 婺源县| 城固县| 岳普湖县| 梓潼县| 曲靖市| 甘肃省| 镇原县| 子长县| 阳西县| 芜湖县| 大石桥市| 定结县| 滨海县| 施秉县| 太和县| 怀柔区| 黄浦区| 琼海市| 疏附县| 浏阳市| 惠东县| 保山市| 霍林郭勒市| 石屏县| 崇信县| 临漳县| 尼玛县| 鄯善县| 通海县| 无棣县| 扬中市| 大同市| 禹城市| 拜城县| 汽车| 北碚区| 新营市| 巨鹿县|