九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区
打開APP
未登錄
開通VIP,暢享免費電子書等14項超值服
開通VIP
首頁
好書
留言交流
下載APP
聯(lián)系客服
Java中g(shù)etBytes()的用法
昵稱27831725
>《Java中g(shù)etBytes()的用法》
2016.03.27
關(guān)注
[java]
view plain
copy
package com.test.bs;
/**
*
* 1、Unicode是一種編碼規(guī)范,是為解決全球字符通用編碼而設(shè)計的,而rUTF-8,UTF-16等是這種規(guī)范的一種實現(xiàn)。
2、java內(nèi)部采用Unicode編碼規(guī)范,也就是支持多語言的,具體采用的UTF-16編碼方式。
3、不管程序過程中用到了gbk,iso8859-1等格式,在存儲與傳遞的過程中實際傳遞的都是Unicode編碼的數(shù)據(jù),要想接收到的值不出現(xiàn)亂碼,就要保證傳過去的時候用的是A編碼,接收的時候也用A編碼來轉(zhuǎn)換接收。
4、如果雙方的file.encoding確保都相同,那就省事了,都默認(rèn)轉(zhuǎn)了,但往往在不同項目交互時很多時候是不一致的,這個時候是必須要進(jìn)行編碼轉(zhuǎn)換的。
5、無論如論轉(zhuǎn)換,java程序的數(shù)據(jù)都是要先和Unicode做轉(zhuǎn)換,這樣也就是能處理多語言字符集的原因了。底層保持了一致,只要在傳值和接值的時候也一致就肯定不會出現(xiàn)亂碼了。
* */
public class UnicodeTest1 {
public static void main(String args[]) throws Exception {
String str = "中文字符";
System.out.println("original string---" + str);// 會正常輸出原始串
/**
*
* str.getBytes(); 如果括號中不寫charset,則采用的是Sytem.getProperty("file.encoding"),即當(dāng)前文件的編碼方式,
*
* 很多人寫的是系統(tǒng)的默認(rèn)編碼,通過代碼測試并非如此,實際得到的是文件的編碼方式*
*
* str.getBytes("charset");//指定charset,即將底層存儲的Unicode碼解析為charset編碼格式的字節(jié)數(shù)組方式
*
* String new_str=new String(str.getBytes("utf-8"),"gbk"));
*
* //將已經(jīng)解析出來的字節(jié)數(shù)據(jù)轉(zhuǎn)化為gbk編碼格式的字符串,在內(nèi)存中即為gbk格式的字節(jié)數(shù)組轉(zhuǎn)為Unicode去交互傳遞
*/
String new_str = new String(str.getBytes("utf-8"), "gbk");
/**
*
* 此時的輸出是亂碼,在UTF-8的file.encoding下輸出gbk格式的數(shù)據(jù)肯定是亂碼,但是new_str的確是gbk編碼式的
*
* 此時的亂碼源于encoding不符,但gbk格式的new_str本身數(shù)據(jù)并沒有問題,通過下面的轉(zhuǎn)換也可以看得出來
*/
System.out.println("new string----" + new_str);
String final_str = new String(new_str.getBytes("gbk"), "utf-8");// 此處的含意與最上邊的注釋是一致的參數(shù)含意
/**
*
*輸出是正常的,此時將gbk編碼格式的new_str字符串,用gbk這個charset去解析它,然后用utf-8再轉(zhuǎn)碼一次,
*
* 因為new_str確實是gbk格式的,才能經(jīng)過utf-8編碼得到正常的數(shù)據(jù)顯示。
*/
System.out.println("final string---" + final_str);
}
}
[java]
view plain
copy
package com.test.bs;
import java.io.UnsupportedEncodingException;
public class UnicodeTest2 {
public static void main(String[] args) {
String a = "哈哈";
try {
byte[] gb2312 = a.getBytes("GB2312");
byte[] utf = a.getBytes("UTF-8");
for (int i = 0; i < gb2312.length; i++) {
System.out.print(gb2312[i]);
}
System.out.println();
for (int i = 0; i < utf.length; i++) {
System.out.print(utf[i]);
}
System.out.println();
System.out.println(new String(gb2312));
System.out.println(new String(utf));
System.out.println(System.getProperty("file.encoding"));//當(dāng)前文件的編碼方式
System.out.println(new String(utf, "UTF-8"));
System.out.println(new String(gb2312, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報
。
打開APP,閱讀全文并永久保存
查看更多類似文章
猜你喜歡
類似文章
java字符串的各種編碼轉(zhuǎn)換類ChangeCharset
java亂碼問題分析
java中文GBK和UTF-8編碼轉(zhuǎn)換亂碼的分析
GBK與UTF-8互轉(zhuǎn)亂碼詳解
Java中一個字符到底多少個字節(jié)
java 字符編碼處理
更多類似文章 >>
生活服務(wù)
熱點新聞
首頁
萬象
文化
人生
生活
健康
教育
職場
理財
娛樂
藝術(shù)
上網(wǎng)
留言交流
回頂部
聯(lián)系我們
分享
收藏
點擊這里,查看已保存的文章
導(dǎo)長圖
關(guān)注
一鍵復(fù)制
下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!
聯(lián)系客服
微信登錄中...
請勿關(guān)閉此頁面
先別劃走!
送你5元優(yōu)惠券,購買VIP限時立減!
5
元
優(yōu)惠券
優(yōu)惠券還有
10:00
過期
馬上使用
×