本文目錄一覽:
- 1、Java怎麼將字符串轉換為GB2312原編碼
- 2、java怎樣實現將GB2312編碼的字符串轉換為ISO-8859-1編碼的字符串
- 3、java怎麼把utf-8的字符串轉換為gb2312格式
- 4、java怎麼把UTF-8字符串轉成GBK字符串?
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