最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)UTF-8編碼與解碼方式

 更新時間:2023年04月13日 10:01:04   作者:404.Sunflower  
這篇文章主要介紹了Java實現(xiàn)UTF-8編碼與解碼方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java實現(xiàn)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字符串轉(zhuǎn)換成普通字符串
? ? ? ? // 其中的字符串直接從上圖所示窗口復(fù)制過來,chrome 默認用 UTF-8 字符集進行編碼,所以也應(yīng)該用對應(yīng)的字符集解碼
? ? ? ? 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"));
//?
// ? ? ? ?// 將普通字符串轉(zhuǎn)換成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("天津大學(xué)", "GBK");
// ? ? ? ?System.out.println(urlStr2);
? ? }
}

推薦一個好的在線轉(zhuǎn)換網(wǎng)頁:https://www.bejson.com/enc/urlencode/

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

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

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

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

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

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

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

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

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

兩者的區(qū)別是

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

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

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringMVC獲取HTTP中元素的實現(xiàn)示例

    SpringMVC獲取HTTP中元素的實現(xiàn)示例

    本文主要介紹了SpringMVC獲取HTTP中的元素,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • Java?Servlet響應(yīng)httpServletResponse過程詳解

    Java?Servlet響應(yīng)httpServletResponse過程詳解

    HttpServletResponse是處理http響應(yīng)的對象,調(diào)用該對象的方法,設(shè)置到對象屬性的內(nèi)容,tomcat最終會組織為http響應(yīng)報文
    2022-02-02
  • jvm之java類加載機制和類加載器(ClassLoader)的用法

    jvm之java類加載機制和類加載器(ClassLoader)的用法

    這篇文章主要介紹了jvm之java類加載機制和類加載器(ClassLoader)的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 使用SpringBoot+Prometheus+Grafana實現(xiàn)可視化監(jiān)控

    使用SpringBoot+Prometheus+Grafana實現(xiàn)可視化監(jiān)控

    本文主要給大家介紹了如何使用Spring?actuator+監(jiān)控組件prometheus+數(shù)據(jù)可視化組件grafana來實現(xiàn)對Spring?Boot應(yīng)用的可視化監(jiān)控,文中有詳細的代碼供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2024-02-02
  • java 在觀察者模式中使用泛型T的實例

    java 在觀察者模式中使用泛型T的實例

    下面小編就為大家?guī)硪黄猨ava 在觀察者模式中使用泛型T的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 詳解idea maven項目如何使用lib下得jar包

    詳解idea maven項目如何使用lib下得jar包

    這篇文章主要介紹了詳解idea maven項目如何使用lib下得jar包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 詳解Java中的悲觀鎖與樂觀鎖

    詳解Java中的悲觀鎖與樂觀鎖

    樂觀鎖對應(yīng)于生活中樂觀的人總是想著事情往好的方向發(fā)展,悲觀鎖對應(yīng)于生活中悲觀的人總是想著事情往壞的方向發(fā)展.這兩種人各有優(yōu)缺點,不能不以場景而定說一種人好于另外一種人,文中詳細介紹了悲觀鎖與樂觀鎖,需要的朋友可以參考下
    2021-05-05
  • SpringBoot實現(xiàn)application.yml文件敏感信息加密

    SpringBoot實現(xiàn)application.yml文件敏感信息加密

    本文主要介紹了SpringBoot實現(xiàn)application.yml文件敏感信息加密,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java后端+前端使用WebSocket實現(xiàn)消息推送的詳細流程

    java后端+前端使用WebSocket實現(xiàn)消息推送的詳細流程

    后端向前端推送消息就需要長連接,首先想到的就是websocket,下面這篇文章主要給大家介紹了關(guān)于java后端+前端使用WebSocket實現(xiàn)消息推送的詳細流程,需要的朋友可以參考下
    2022-10-10
  • SpringBoot整合Redis使用注解進行緩存方式

    SpringBoot整合Redis使用注解進行緩存方式

    文章介紹了使用Redis進行數(shù)據(jù)緩存的幾種方式,包括手動配置RedisTemplate、使用Spring的Caching模塊以及配置自定義的RedisCacheManager
    2025-03-03

最新評論

石狮市| 保定市| 鄂伦春自治旗| 白银市| 合阳县| 南靖县| 射阳县| 会昌县| 珠海市| 锦屏县| 潞西市| 三穗县| 白河县| 阿克苏市| 祁阳县| 卫辉市| 龙南县| 庐江县| 海城市| 涞源县| 云龙县| 蚌埠市| 琼结县| 抚宁县| 融水| 礼泉县| 兴海县| 辽中县| 屏东县| 新平| 若羌县| 平凉市| 九龙县| 靖宇县| 日土县| 天等县| 渭南市| 深泽县| 台中县| 巴东县| 滁州市|