java+代碼編碼轉(zhuǎn)換 java 編碼格式轉(zhuǎn)換

java如何把string轉(zhuǎn)為utf-8

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

遵義網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、自適應網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)。

String str = "任意字符串";

str = new String(str.getBytes("gbk"),"utf-8");

備注說明:

str.getBytes("UTF-8"); 意思是以UTF-8的編碼取得字節(jié)

new String(XXX,"UTF-8"); 意思是以UTF-8的編碼生成字符串

舉例:

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;

擴展資料:

UTF-8編碼規(guī)則:

如果只有一個字節(jié)則其最高二進制位為0;如果是多字節(jié),其第一個字節(jié)從最高位開始,連續(xù)的二進制位值為1的個數(shù)決定了其編碼的字節(jié)數(shù),其余各字節(jié)均以10開頭。

實際表示ASCII字符的UNICODE字符,將會編碼成1個字節(jié),并且UTF-8表示與ASCII字符表示是一樣的。所有其他的UNICODE字符轉(zhuǎn)化成UTF-8將需要至少2個字節(jié)。每個字節(jié)由一個換碼序列開始。第一個字節(jié)由唯一的換碼序列,由n位連續(xù)的1加一位0組成,首字節(jié)連續(xù)的1的個數(shù)表示字符編碼所需的字節(jié)數(shù)。

Unicode轉(zhuǎn)換為UTF-8時,可以將Unicode二進制從低位往高位取出二進制數(shù)字,每次取6位,如上述的二進制就可以分別取出為如下示例所示的格式,前面按格式填補,不足8位用0填補。

參考資料來源:百度百科:UTF-8

java怎么把utf-8的字符串轉(zhuǎn)換為gb2312格式

Java中字符串轉(zhuǎn)碼,根據(jù)實際運用的環(huán)境有以下三種方式

1、使用Java.lang.String

這是最常用的方法,先用對應編碼獲取字節(jié),然后重新構(gòu)造新編碼,示例代碼如下:

String?s?=?"清山";??

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

String?sa?=?new?String(b,?"gb2312");//解碼:用什么字符集編碼就用什么字符集解碼

2、java.io.InputStreamReader/OutputStreamWriter:橋轉(zhuǎn)換

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

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轉(zhuǎn)換字符,示例代碼如下:

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

Charset?outSet?=?Charset.forName("gb2312");??//?編碼字符集??

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

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

如何使用Java代碼將GBK編碼格式的工程轉(zhuǎn)換為UTF-8編碼格式的工程

不寫代碼的話可以直接找個批量轉(zhuǎn)換文本編碼的軟件搞定。

寫代碼稍微復雜一些。

新建一個目錄

遍歷遞歸原工程目錄,以gbk編碼讀取,以utf8編碼寫文件到新的目錄下即可。

手動重命名工程為 工程備份

手動重命名新目錄為 工程名

檢查無誤后刪除工程備份

java怎樣實現(xiàn)將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串

通過JDK1.6知道String類中getBytes(”編碼“)方法可以講一個數(shù)用指定的編碼轉(zhuǎn)成一個字節(jié)數(shù)組,String中通過指定的 charset解碼指定的 byte 數(shù)組,構(gòu)造一個新的?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 序列,并將結(jié)果存儲到一個新的 byte 數(shù)組中。

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

參考資料:

百度百科-getBytes()

網(wǎng)站題目:java+代碼編碼轉(zhuǎn)換 java 編碼格式轉(zhuǎn)換
分享鏈接:http://muchs.cn/article0/doshjoo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、自適應網(wǎng)站、微信小程序、品牌網(wǎng)站設計、外貿(mào)網(wǎng)站建設、關鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化