欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java亂碼問(wèn)題分析

java 采用unicode 編碼來(lái)處理字符。Java 程序無(wú)論是從/往文件系統以字符流讀/寫(xiě)文件,還是往URL 連接寫(xiě) HTML 信息,或從URL 連接讀取參數值,都會(huì )有字符編碼的轉換。編/解碼過(guò)程如下圖:

 

亂碼產(chǎn)生的根源是由于編碼和解碼采用的不是同一種碼(gbk,utf-8,iso8859-1)。

字符串(String 或char[])"123你" 經(jīng)過(guò)java 編碼后的字節流(unicode 字節流)為31 00 32 00 33 00 60 4f。如果你用new String("123你".getBytes("iso8859-1"), "gbk") 就會(huì )產(chǎn)生亂碼。

因為getBytes("iso8859-1") 取得的是"123你" 經(jīng)過(guò)iso8859-1 編碼后的字節流31 32 33 3f(iso8859字節流),而在用new String(bytes, "gbk") 構造字符串時(shí)java 則將iso8859字節流(31 32 33 3f)當作是unicode 字節流(因為java 是采用unicode 來(lái)處理字符的,所以它把字節流統統當作是unicode 字節流),因此它把31 32 33 3f 也看成是unicode 字節流。而unicode 字節流(31 32 33 3f)經(jīng)過(guò)gbk 編碼后當然是123? 了。于是,亂碼產(chǎn)生了。下面的是一個(gè)測試程序:

public class Charset {

    public static void main(String[] args) {
        String str = "123你";

        try {
            byte[] unicode = str.getBytes("unicode");
            for (int i=0; i<unicode.length; i++)
                System.out.print(Integer.toHexString(unicode[i]) + " ");
            System.out.println(new String(unicode));        // ??1 2 3 `O

            byte[] utf8 = str.getBytes("utf-8");
            for (int i=0; i<utf8.length; i++)
                System.out.print(Integer.toHexString((utf8[i])) + " ");
            System.out.println(new String(utf8));        // 123浣?

            byte[] iso88591 = str.getBytes("iso8859-1");
            for (int i=0; i<iso88591.length; i++)
                System.out.print(Integer.toHexString((iso88591[i])) + " ");
            System.out.println(new String(iso88591));        // 123?

            byte[] gbk = str.getBytes("gbk");
            for (int i=0; i<gbk.length; i++)
                System.out.print(Integer.toHexString((gbk[i])) + " ");
            System.out.println(new String(gbk));        // 123你

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
struts原理與實(shí)踐(4)
java中文GBK和UTF-8編碼轉換亂碼的分析
Java中g(shù)etBytes()的用法
解決web服務(wù)器各種應用的亂碼問(wèn)題,歡迎補充和討論
java 字符編碼處理
java 中String編碼和byte 解碼 總結
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久