java中如何修改字符串編碼,java 字符串設置編碼

本文目錄一覽:

java中如何修改字符串編碼?

假設你的字符串的字節數組是buf,按照GBK解析這個字符串的方法就是如下

String

str=new

String(buf,0,buf.length,”GBK”);

如果是utf-8編碼,就把GBK換成utf-8即可

java如何把string轉為utf-8

可通過以下代碼轉:

/**

* Get XML String of utf-8

*

* @return XML-Formed string

*/

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = “”;

String xmlUTF8=””;

try {

xmString = new String(sb.toString().getBytes(“UTF-8”));

xmlUTF8 = URLEncoder.encode(xmString, “UTF-8”);

System.out.println(“utf-8 編碼:” + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

}

Java programming language具有目前大部分編程語言所共有的一些特徵,被特意設計用於互聯網的分布式環境。Java具有類似於C++語言的”形式和感覺”,但它要比C++語言更易於使用,而且在編程時徹底採用了一種”以對象為導向”的方式。使用Java編寫的應用程序,既可以在一台單獨的電腦上運行,也可以被分布在一個網絡的服務器端和客戶端運行。另外,Java還可以被用來編寫容量很小的應用程序模塊或者applet,做為網頁的一部分使用。applet可使網頁使用者和網頁之間進行交互式操作。

Java是Sun微系統公司在1995年推出的,推出之後馬上給互聯網的交互式應用帶來了新面貌。目前,最常用的兩種互聯網瀏覽器軟件中都包括一個Java虛擬機。幾乎所有的操作系統中都增添了Java編譯程序。

請問java如何改變字符串的編碼方式

byte[] b=string.getBytes(“GB2312”);//使用GB2312編碼方式對字符串string進行編碼

//這時要想將字節數組b的內容正確解碼只能使用GB2312的編碼方式進行解碼,即

String str=new String(b,”GB2312″);//這裡若使用UTF-8編碼方式來進行解碼就會亂碼

//將eclipse默認的編碼方式改為UTF-8,只是用該編碼方式對.java源文件進行編碼保存

//這個對new String(string.getBytes(“GB2312″),”UTF-8”)沒啥影響的

//因為從java源文件獲取字符串string時,已經通過UTF-8編碼方式進行解碼了

//而string.getBytes(“GB2312”)是使用指定的編碼方式對字符串string進行從新編碼

//這兩者之間沒啥關係的

Java中如何把GBK編碼的字符串轉成utf-8編碼

我先解釋一下我對你的問題的理解 :

你的問題有點籠統 可以這麼理解兩個意思 : 一 ,你是想吧一個gbk編碼的字符串用utf-8格式來編碼

String s = new String (“全國”.getBytes(“GBK”),”GBK”);

雖然這個時候的s是GBK編碼的 但是s還是中文字符的 所以 上面這位同胞用 new(s.getBytes(“GBK”),”UTF-8″)的方式肯定是錯的 應該用 String s1 = new String (s.getBytes(“UTF-8″),”UTF-8”) 這樣s1就是UTF-8編碼的字符串了

二,如果是遇見亂碼問題 比如 String s = new String (“全國”.getBytes(“GBK”),”GBK”);

這樣的s就是gbk編碼的 現在你要把GBK格式的編碼用UTF-8去編碼 肯定就會出現亂碼

String s2 = new String(s.getBytes(“GBK”),”UTF-8″); 這個s2肯定是亂碼的 而且這樣就根本解不出來了 系統出現的亂碼顯示的時候才會出現編碼錯誤 所以 一般出現亂碼 只要把輸入流換個編碼解析一下就ok了 還有什麼不明白 可以問我

Java怎麼將字符串轉換為GB2312原編碼

@Test

public void test333(){

String a=”青白”;

try {

byte[] b=a.getBytes(“GB2312”);

System.out.println(bytesToHexFun1(b));

 

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

//將byte數組轉成16進制字符串

 public static String bytesToHexFun1(byte[] bytes) {

    char[] HEX_CHAR = {‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, 

            ‘6’, ‘7’, ‘8’, ‘9’, ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’};

        // 一個byte為8位,可用兩個十六進制位標識

        char[] buf = new char[bytes.length * 2];

        int a = 0;

        int index = 0;

        for(byte b : bytes) { // 使用除與取余進行轉換

            if(b  0) {

                a = 256 + b;

            } else {

                a = b;

            }

            buf[index++] = HEX_CHAR[a / 16];

            buf[index++] = HEX_CHAR[a % 16];

        }

        return new String(buf);

    }

    

中心思想就是先轉成GB2312的byte數組,再轉成16進制就可以了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279425.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:04
下一篇 2024-12-20 15:04

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論