java編碼轉換,Java數字與漢字的編碼轉換

本文目錄一覽:

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進制就可以了。

java怎樣實現將GB2312編碼的字符串轉換為ISO-8859-1編碼的字符串

通過JDK1.6知道String類中getBytes(」編碼「)方法可以講一個數用指定的編碼轉成一個位元組數組,String中通過指定的 charset解碼指定的 byte 數組,構造一個新的 String。代碼如下:

try{

String s = “java學習”;

System.out.println(s);

String result = new String(s.getBytes(“GB2312″),”iso-8859-1”);

System.out.println(s);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

擴展資料:

getBytes() 方法有兩種形式:

1、getBytes(String charsetName): 使用指定的字符集將字符串編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

2、getBytes(): 使用平台的默認字符集將字符串編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

參考資料:

百度百科-getBytes()

java怎麼把utf-8的字符串轉換為gb2312格式

Java中字符串轉碼,根據實際運用的環境有以下三種方式

使用Java.lang.String

這是最常用的方法,先用對應編碼獲取位元組,然後重新構造新編碼,示例代碼如下:

String s = “清山”;

byte[] b = s.getBytes(“utf-8”);//編碼

String sa = new String(b, “gb2312”);//解碼:用什麼字符集編碼就用什麼字符集解碼

java.io.InputStreamReader/OutputStreamWriter:橋轉換

讀寫文件的應用中,可以使用這種方式,直接在IO流構造中轉換,示例代碼如下:

InputStream is = new FileInputStream(“C:/項目進度跟蹤.txt”);//文件讀取

InputStreamReader isr = new InputStreamReader(is, “utf-8”);//解碼

OutputStream os = new FileOutputStream(“C:/項目進度跟蹤_gb2312.txt”);//文件輸出

OutputStreamWriter osw = new OutputStreamWriter(os, “gb2312”);//開始編碼

java.nio.Charset

使用nio中的Charset轉換字符,示例代碼如下:

Charset inSet = Charset.forName(“utf-8”); // 解碼字符集

Charset outSet = Charset.forName(“gb2312”); // 編碼字符集

CharsetDecoder de = inSet.newDecoder(); // 解碼器

CharsetEncoder en = outSet.newEncoder();// 編碼

java怎麼把UTF-8字符串轉成GBK字符串?

java不同編碼之間進行轉換,都需要使用unicode作為中轉。

以utf-8轉gbk為例,示例代碼如下:

String t = “這是一個字符串aaa111”;  

String utf8 = new String(t.getBytes( “UTF-8”));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),”UTF-8″);   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes(“GBK”));  

System.out.println(gbk);

原創文章,作者:KIXTH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/313535.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KIXTH的頭像KIXTH
上一篇 2025-01-07 09:43
下一篇 2025-01-07 09:43

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

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

    編程 2025-04-29
  • Java JsonPath 效率優化指南

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

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

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

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

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

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

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

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 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
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論