免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版
打開APP
未登錄
開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服
開通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è)計(jì)的,而rUTF-8,UTF-16等是這種規(guī)范的一種實(shí)現(xiàn)。
2、java內(nèi)部采用Unicode編碼規(guī)范,也就是支持多語言的,具體采用的UTF-16編碼方式。
3、不管程序過程中用到了gbk,iso8859-1等格式,在存儲(chǔ)與傳遞的過程中實(shí)際傳遞的都是Unicode編碼的數(shù)據(jù),要想接收到的值不出現(xiàn)亂碼,就要保證傳過去的時(shí)候用的是A編碼,接收的時(shí)候也用A編碼來轉(zhuǎn)換接收。
4、如果雙方的file.encoding確保都相同,那就省事了,都默認(rèn)轉(zhuǎn)了,但往往在不同項(xiàng)目交互時(shí)很多時(shí)候是不一致的,這個(gè)時(shí)候是必須要進(jìn)行編碼轉(zhuǎn)換的。
5、無論如論轉(zhuǎn)換,java程序的數(shù)據(jù)都是要先和Unicode做轉(zhuǎn)換,這樣也就是能處理多語言字符集的原因了。底層保持了一致,只要在傳值和接值的時(shí)候也一致就肯定不會(huì)出現(xiàn)亂碼了。
* */
public class UnicodeTest1 {
public static void main(String args[]) throws Exception {
String str = "中文字符";
System.out.println("original string---" + str);// 會(huì)正常輸出原始串
/**
*
* str.getBytes(); 如果括號(hào)中不寫charset,則采用的是Sytem.getProperty("file.encoding"),即當(dāng)前文件的編碼方式,
*
* 很多人寫的是系統(tǒng)的默認(rèn)編碼,通過代碼測試并非如此,實(shí)際得到的是文件的編碼方式*
*
* str.getBytes("charset");//指定charset,即將底層存儲(chǔ)的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");
/**
*
* 此時(shí)的輸出是亂碼,在UTF-8的file.encoding下輸出gbk格式的數(shù)據(jù)肯定是亂碼,但是new_str的確是gbk編碼式的
*
* 此時(shí)的亂碼源于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ù)含意
/**
*
*輸出是正常的,此時(shí)將gbk編碼格式的new_str字符串,用gbk這個(gè)charset去解析它,然后用utf-8再轉(zhuǎn)碼一次,
*
* 因?yàn)閚ew_str確實(shí)是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();
}
}
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)
。
打開APP,閱讀全文并永久保存
查看更多類似文章
猜你喜歡
類似文章
java字符串的各種編碼轉(zhuǎn)換類ChangeCharset
java亂碼問題分析
java中文GBK和UTF-8編碼轉(zhuǎn)換亂碼的分析
GBK與UTF-8互轉(zhuǎn)亂碼詳解
Java中一個(gè)字符到底多少個(gè)字節(jié)
java 字符編碼處理
更多類似文章 >>
生活服務(wù)
首頁
萬象
文化
人生
生活
健康
教育
職場
理財(cái)
娛樂
藝術(shù)
上網(wǎng)
留言交流
回頂部
聯(lián)系我們
分享
收藏
點(diǎn)擊這里,查看已保存的文章
導(dǎo)長圖
關(guān)注
一鍵復(fù)制
下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!
聯(lián)系客服
微信登錄中...
請(qǐng)勿關(guān)閉此頁面
先別劃走!
送你5元優(yōu)惠券,購買VIP限時(shí)立減!
5
元
優(yōu)惠券
優(yōu)惠券還有
10:00
過期
馬上使用
×