91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java怎么實現UTF-8編碼與解碼

發布時間:2023-04-18 10:26:57 來源:億速云 閱讀:149 作者:iii 欄目:開發技術

這篇文章主要介紹了Java怎么實現UTF-8編碼與解碼的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java怎么實現UTF-8編碼與解碼文章都會有所收獲,下面我們一起來看看吧。

    Java實現UTF-8編碼與解碼

    Java代碼如下:

    import java.net.URLDecoder;
    import java.net.URLEncoder;
    
    //URLDecoder.decode("%E5%A4%A9%E6%B4%A5","UTF-8");
    public class URLDecoderTesT {
        public static void main(String[] args) throws Exception {
     
            // 將application/x-www-form-urlencoded字符串轉換成普通字符串
            // 其中的字符串直接從上圖所示窗口復制過來,chrome 默認用 UTF-8 字符集進行編碼,所以也應該用對應的字符集解碼
            System.out.println("采用UTF-8字符集進行解碼:");
            String keyWord = URLDecoder.decode("%E9%99%88", "UTF-8");
            System.out.println(keyWord);
    //        System.out.println("\n 采用GBK字符集進行解碼:");
    //        System.out.println(URLDecoder.decode("%E5%A4%A9%E6%B4%A5%E5%A4%A7%E5%AD%A6+Rico", "GBK"));
    // 
    //        // 將普通字符串轉換成application/x-www-form-urlencoded字符串
            System.out.println("\n 采用utf-8字符集:");
            String urlStr = URLEncoder.encode("../../../../../../../etc/passwd", "utf-8");
            System.out.println(urlStr);
    //        System.out.println("\n 采用GBK字符集:");
    //        String urlStr2 = URLEncoder.encode("天津大學", "GBK");
    //        System.out.println(urlStr2);
        }
    }

    Java怎么實現UTF-8編碼與解碼

    使用UTF-8或GBK編碼后還是亂碼的問題

    大家在開發中可能經常遇到將String字符串轉為byte[]的場景,為了避免中文亂碼,一般指定字符集為GBK或UTF-8來進行編碼以及解碼,但是如果使用不當,同樣會造成字符集亂碼問題。

    主要原因是進行編碼以及解碼的字符集不一致導致

    所以,在解決字符集亂碼問題時一般情況下會顯示指定編碼和解碼字符集。

    // 編碼
    byte[] bytes = “中文”.getBytes(“UTF-8”);
    // 解碼
    new String(bytes,“UTF-8”);

    不顯式指定時一般會使用默認字符集進行編碼或解碼,此時需要確保使用的獲取默認字符集的方法一樣。

    // 編碼 獲取默認字符集方法為:Charset.defaultCharset().name()
    byte[] bytes =“中文”.getBytes();
    // 解碼 獲取默認字符集方法為:Charset.defaultCharset().name()
    new String(bytes);

    以下列出兩種獲取默認字符集的方法及區別:

    Charset.defaultCharset().name();
    System.getProperty("file.encoding")

    兩者的區別是

    **Charset.defaultCharset()**通過在JVM啟動時通過-Dfile.encoding=UTF-8參數來進行設置。此方式只支持在jvm啟動時設置一次,不支持在運行期修改。

    System.getProperty(“file.encoding”) 獲取的是操作系統的編碼,可以通過System.setProperty("file.encoding","UTF-8")進行修改(此修改不會影響操作系統,重啟jvm后丟失),支持在運行期修改。 

    關于“Java怎么實現UTF-8編碼與解碼”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java怎么實現UTF-8編碼與解碼”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    苍山县| 曲沃县| 平阳县| 朝阳区| 丰镇市| 塔城市| 延庆县| 萨嘎县| 滨海县| 正蓝旗| 南岸区| 九江县| 甘泉县| 邵东县| 吉安市| 镶黄旗| 平利县| 宾阳县| 台南市| 连城县| 黄大仙区| 临猗县| 高青县| 稻城县| 寿宁县| 巴中市| 华池县| 读书| 鄂托克前旗| 广南县| 大新县| 乾安县| 龙口市| 临泉县| 元氏县| 镇雄县| 永修县| 新营市| 九江市| 杭锦旗| 康定县|