java編碼轉換,java字符串轉換編碼

本文目錄一覽:

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

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

1、使用Java.lang.String

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

String s = “清山”;  

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

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

2、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”);//開始編碼

3、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怎樣實現將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中接口編碼格式不同怎麼轉換?

先用String s1=new String( s.toString().getBytes(“gbk”),”gb2312″);

再用String s2=new String( s.toString().getBytes(“UTF-8″),”gbk”);

如果還是不行就是action的提交方式限制編碼方式

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怎麼把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);

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

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

相關推薦

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

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

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

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

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

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

    編程 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中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、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

發表回復

登錄後才能評論