欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用UTF-8或GBK編碼后還是亂碼問(wèn)題的解決辦法

 更新時(shí)間:2023年05月24日 09:14:14   作者:奮斗的阿杰  
在java中處理字符時(shí),經(jīng)常會(huì)發(fā)生亂碼,下面這篇文章主要給大家介紹了關(guān)于Java使用UTF-8或GBK編碼后還是亂碼問(wèn)題的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下

前言

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

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

所以,在解決字符集亂碼問(wèn)題時(shí)一般情況下會(huì)顯示指定編碼和解碼字符集。

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

不顯式指定時(shí)一般會(huì)使用默認(rèn)字符集進(jìn)行編碼或解碼,此時(shí)需要確保使用的獲取默認(rèn)字符集的方法一樣。

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

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

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

兩者的區(qū)別是:

  • **Charset.defaultCharset()**通過(guò)在JVM啟動(dòng)時(shí)通過(guò)-Dfile.encoding=UTF-8參數(shù)來(lái)進(jìn)行設(shè)置。此方式只支持在jvm啟動(dòng)時(shí)設(shè)置一次,不支持在運(yùn)行期修改。
  • System.getProperty(“file.encoding”) 獲取的是操作系統(tǒng)的編碼,可以通過(guò)System.setProperty("file.encoding","UTF-8")進(jìn)行修改(此修改不會(huì)影響操作系統(tǒng),重啟jvm后丟失),支持在運(yùn)行期修改。

總結(jié)

到此這篇關(guān)于Java使用UTF-8或GBK編碼后還是亂碼問(wèn)題的解決辦法的文章就介紹到這了,更多相關(guān)Java字符集亂碼問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實(shí)現(xiàn)三子棋游戲

    Java實(shí)現(xiàn)三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringBoot引入SPEL模板字符串替換的兩種方式

    SpringBoot引入SPEL模板字符串替換的兩種方式

    在 Spring Boot 中,我們可以使用字符串替換工具類(lèi)來(lái)實(shí)現(xiàn)這些功能,本文主要介紹了SpringBoot引入SPEL模板字符串替換的兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Java之SpringBoot-Thymeleaf詳情

    Java之SpringBoot-Thymeleaf詳情

    聊Thymeleaf,需要知道為什么到了SpringBoot中就不用JSP了?這跟SpringBoot打包方式有點(diǎn)關(guān)系,SpringBoot項(xiàng)目打包是jar包,下面文章小編就對(duì)此做一個(gè)詳細(xì)介紹,需要的朋友可以參考一下
    2021-09-09
  • 關(guān)于SpringBoot創(chuàng)建存儲(chǔ)令牌的媒介類(lèi)和過(guò)濾器的問(wèn)題

    關(guān)于SpringBoot創(chuàng)建存儲(chǔ)令牌的媒介類(lèi)和過(guò)濾器的問(wèn)題

    這篇文章主要介紹了SpringBoot創(chuàng)建存儲(chǔ)令牌的媒介類(lèi)和過(guò)濾器的問(wèn)題,需要在配置文件中,添加JWT需要的密匙,過(guò)期時(shí)間和緩存過(guò)期時(shí)間,具體實(shí)例代碼參考下本文
    2021-09-09
  • 實(shí)例講解使用Spring通過(guò)JPA連接到Db2

    實(shí)例講解使用Spring通過(guò)JPA連接到Db2

    這篇文章主要介紹了通過(guò)實(shí)例講解使用Spring通過(guò)JPA連接到Db2,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來(lái)一起學(xué)習(xí)一下吧
    2019-06-06
  • Spring Cloud Ribbon負(fù)載均衡器處理方法

    Spring Cloud Ribbon負(fù)載均衡器處理方法

    這篇文章主要介紹了Spring Cloud Ribbon負(fù)載均衡器處理方法,看看是如何獲取服務(wù)實(shí)例,獲取以后做了哪些處理,處理后又是如何選取服務(wù)實(shí)例的,需要的朋友可以參考下
    2018-02-02
  • 基于Java實(shí)現(xiàn)修改圖片分辨率示例代碼

    基于Java實(shí)現(xiàn)修改圖片分辨率示例代碼

    這篇文章主要介紹了一個(gè)可以修改圖片分辨率的java工具類(lèi),文中的示例代碼講解詳細(xì),對(duì)學(xué)習(xí)JAVA有一定的幫助,感興趣的小伙伴快來(lái)跟隨小編一起學(xué)習(xí)吧
    2021-12-12
  • 詳解java迭代器模式

    詳解java迭代器模式

    這篇文章主要介紹了java迭代器模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • springcloud?gateway實(shí)現(xiàn)簡(jiǎn)易版灰度路由步驟詳解

    springcloud?gateway實(shí)現(xiàn)簡(jiǎn)易版灰度路由步驟詳解

    這篇文章主要為大家介紹了springcloud?gateway實(shí)現(xiàn)簡(jiǎn)易版灰度路由步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • JustAuth-第三方Oauth2登錄方式

    JustAuth-第三方Oauth2登錄方式

    JustAuth是一款支持多種第三方登錄的工具,本文通過(guò)實(shí)戰(zhàn)介紹了如何在Springboot項(xiàng)目中集成JustAuth實(shí)現(xiàn)第三方登錄,主要步驟包括引入依賴(lài)、配置Controller、設(shè)置登錄和回調(diào)頁(yè)面,通過(guò)訪(fǎng)問(wèn)登錄頁(yè)面并選擇Gitee登錄,系統(tǒng)會(huì)重定向至Gitee進(jìn)行認(rèn)證
    2024-09-09

最新評(píng)論