国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價(jià)值的文章主要介紹了Java使用UTF-8或GBK編碼后還是亂碼的問題。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

大家在開發(fā)中可能經(jīng)常遇到將String字符串轉(zhuǎn)為byte[]的場景,為了避免中文亂碼,一般指定字符集為GBK或UTF-8來進(jìn)行編碼以及解碼,但是如果使用不當(dāng),同樣會(huì)造成字符集亂碼問題。
主要原因是進(jìn)行編碼以及解碼的字符集不一致導(dǎo)致
所以,在解決字符集亂碼問題時(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()**通過在JVM啟動(dòng)時(shí)通過-Dfile.encoding=UTF-8參數(shù)來進(jìn)行設(shè)置。此方式只支持在jvm啟動(dòng)時(shí)設(shè)置一次,不支持在運(yùn)行期修改。

  • System.getProperty(“file.encoding”) 獲取的是操作系統(tǒng)的編碼,可以通過System.setProperty("file.encoding","UTF-8")進(jìn)行修改(此修改不會(huì)影響操作系統(tǒng),重啟jvm后丟失),支持在運(yùn)行期修改。文章來源地址http://www.zghlxwxcb.cn/news/detail-556408.html

到了這里,關(guān)于Java使用UTF-8或GBK編碼后還是亂碼的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【錯(cuò)誤記錄】IntelliJ IDEA 中編譯運(yùn)行報(bào)錯(cuò) ( 當(dāng)前設(shè)置 GBK 編碼 | 錯(cuò)誤: 編碼UTF-8的不可映射字?? )

    【錯(cuò)誤記錄】IntelliJ IDEA 中編譯運(yùn)行報(bào)錯(cuò) ( 當(dāng)前設(shè)置 GBK 編碼 | 錯(cuò)誤: 編碼UTF-8的不可映射字?? )

    當(dāng)前的 IntelliJ IDEA 設(shè)置的編碼為 GBK 編碼 , 選擇 \\\" 菜單欄 / File / Settings \\\" 選項(xiàng) , 在 \\\" File Encodings \\\" 中 , 查看 工程的編碼 , 運(yùn)行時(shí)報(bào)錯(cuò) : 在中文注釋的位置 , 編碼報(bào)錯(cuò) ; D:\\002_Project\\003_Java_WorkExsamplesrcmainjavaArrowCanvas.java:17 : 錯(cuò)誤: 編碼UTF-8的不可映射字?? // ??????? ^

    2024年02月14日
    瀏覽(34)
  • Python ZIpFile 解惑:GBK 編碼與亂碼現(xiàn)象

    項(xiàng)目 描述 維基百科 ZIP 格式 Python 官方文檔 zipfile - 使用ZIP存檔 搜索引擎 Google 、 Bing Zip 文件格式規(guī)范 APPNOTE.TXT 維基百科 首頁 百度百科 首頁 項(xiàng)目 描述 Python 3.10.6 操作系統(tǒng) Windows 10 專業(yè)版(x86-64) 壓縮軟件 360壓縮(4.0.0.1460) 本部分內(nèi)容為鋪墊內(nèi)容,除 “亂碼現(xiàn)象” 為必看

    2024年02月01日
    瀏覽(17)
  • UTF-8、GB2312、GBK、GB18030、ISO-8859-1(也稱Latin-1):兼容ASCII編碼

    ASCII碼是單字節(jié)的,首位為0,后面表示的值就是Unicode碼點(diǎn),范圍為0x00-0x7F,共表示128個(gè)字符。 UTF-8和ASCII兼容 :因?yàn)閷τ趩巫止?jié)的符號(hào),UTF-8 編碼和 ASCII 碼是相同的, 所以 UTF-8 能兼容 ASCII 編碼。 GB2312和ASCII兼容 :對于ASCII范圍以內(nèi)的字符,GB2312編碼的機(jī)內(nèi)碼(不是區(qū)位碼)

    2024年02月16日
    瀏覽(18)
  • Java 字符轉(zhuǎn)碼之UTF-8互轉(zhuǎn)GBK

    Java UTF-8轉(zhuǎn)GBK詳解 java跟python類似的做法,在java中字符串的編碼是java修改過的一種Unicode編碼,所以看到j(luò)ava中的字符串,心理要默念這個(gè)東西是java修改過的一種Unicode編碼的編碼。 ?問題的關(guān)鍵是new String(xxx.getBytes(\\\"gbk\\\"), \\\"gbk\\\")這句話是什么意思,xxx.getBytes(\\\"gbk\\\")得到的數(shù)組編碼是

    2024年02月05日
    瀏覽(10)
  • vscode默認(rèn)gbk編碼格式打開

    vscode默認(rèn)gbk編碼格式打開

    每次打開vscode都是utf-8格式打開文件,然后滿屏的中文亂碼,自己手動(dòng)換成gbk編碼 后中文顯示正常,但是換多了很煩。 ctrl+shift+P 點(diǎn) 首選項(xiàng):打開用戶設(shè)置 加上這行在最后: 然后重啟就好了

    2024年02月16日
    瀏覽(20)
  • 使用 C++ 方式實(shí)現(xiàn) GBK 到 UTF-8 轉(zhuǎn)碼 (win / linux)

    C++ 存在多種方式實(shí)現(xiàn) GBK 到 UTF-8 的轉(zhuǎn)碼 一般使用C++都會(huì)想到使用 Qt API QString 將 gbk 轉(zhuǎn)為 utf-8 此種方式,可以轉(zhuǎn)換 Windows 平臺(tái)運(yùn)行時(shí)的 gbk 編碼的中文字符串為 utf-8 格式,linux 下需要使用 QTextCodec ,網(wǎng)上有很多,此處不做過多描述。 由于項(xiàng)目需要去掉 Qt 依賴,或者無法使用

    2024年02月09日
    瀏覽(18)
  • UTF-8轉(zhuǎn)GBK

    參考鏈接:https://blog.csdn.net/yanchao7788/article/details/53196901 參考鏈接:你真的懂 Unicode 和 UTF-8 是什么關(guān)系嗎?來看看這個(gè)就徹底懂了!_魔都飄雪的博客-CSDN博客_utf8和unicode的關(guān)系 UTF-8沒辦法直接轉(zhuǎn)GBK,必須先轉(zhuǎn)成unicode,再轉(zhuǎn)成GBK 1.把UTF-8轉(zhuǎn)成unicode,根據(jù)參考的鏈接,我做了實(shí)現(xiàn)

    2024年02月11日
    瀏覽(16)
  • 使用sublime發(fā)現(xiàn)沒有g(shù)bk編碼

    使用sublime發(fā)現(xiàn)沒有g(shù)bk編碼

    默認(rèn)情況下,我們的 Sublime是沒有 GBK編碼格式設(shè)置了,為了我們的文件設(shè)置為 GBK,應(yīng)當(dāng)安裝 GBK選項(xiàng)插件。 安裝ConvertToUTF8插件 ①首選項(xiàng)--package control--Install Package ②彈出新的輸入框輸入:ConvertToUTF8,會(huì)出現(xiàn)ConvertToUTF8選項(xiàng),選中安裝即可。 ③安裝成功后,重啟sublime ④比較一

    2024年02月16日
    瀏覽(33)
  • UTF-8、UTF-16、Unicode、GB2312、GBK、GB18030一次說清楚

    1、關(guān)于存儲(chǔ)編碼和顯示編碼的區(qū)別。 Unicode是顯示編碼,UTF-8、UTF-16、GB2312、GBK、GB18030都是存儲(chǔ)/傳輸方面使用,也叫做存儲(chǔ)編碼、處理編碼,你在計(jì)算機(jī)上看見的所有文字都從存儲(chǔ)編碼轉(zhuǎn)成顯示編碼后,顯示出來,當(dāng)你單機(jī)保存時(shí)又從顯示編碼轉(zhuǎn)換為存儲(chǔ)編碼存儲(chǔ)起來。 2、

    2024年02月12日
    瀏覽(17)
  • 解決終Linux端中文亂碼問題及設(shè)置UTF-8編碼

    簡介 當(dāng)在終端中復(fù)制粘貼中文文本時(shí)出現(xiàn)亂碼問題,可能是因?yàn)榻K端未正確設(shè)置 UTF-8 編碼。本文將介紹如何通過設(shè)置語言環(huán)境和字符類型環(huán)境,以及選擇正確的語言包,來解決這一問題。 步驟: 1. 檢查當(dāng)前終端設(shè)置 在終端中運(yùn)行以下命令,檢查當(dāng)前終端的語言環(huán)境和字符

    2024年02月05日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包