關於java中String字元轉碼的幾個小測試
// 注 北字的UTF-8編碼是E5 8C 97 GBK編碼B1 B1
byte[] b = new byte[]{(byte)0xe5, (byte)0x8c, (byte)0x97};
String s2 = new String(b, "UTF-8");
System.out.println(s2);
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes()));
System.out.println("-----");
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes("UTF-8")));
輸出為:
北
In Hex:
0xb1 0xb1
-----
In Hex:
0xe5 0x8c 0x97
System.out.println(s2);
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes()));
System.out.println("-----");
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes("UTF-8")));
輸出為:
北
In Hex:
0xb1 0xb1
-----
In Hex:
0xe5 0x8c 0x97
String s2 = new String("北".getBytes(), "UTF-8");
System.out.println(s2);
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes()));
System.out.println("-----");
System.out.println(ToStringUtil.byteArrayToHexString(s2
.getBytes("UTF-8")));
輸出為:
??
In Hex:
0x3f 0x3f
-----
In Hex:
0xef 0xbf 0xbd 0xef 0xbf 0xbd
也就是說:
採用public String(byte bytes[], String charsetName)方式建立String時 byte[]的編碼 和charsetName 應該是一致的
String在VM儲存的字符集應該是unicode,getBytes 按指定字符集或者預設字符集進行轉換輸出。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26273052/viewspace-1059814/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- String和StringBuffer的幾個小程式
- JAVA面試題 String s = new String("xyz");產生了幾個物件?Java面試題物件
- 面試之Java String 編碼相關面試Java
- 關於 AppCrawler 執行過程中的幾個小問題APP
- 【Java面試】new String("abc")到底建立了幾個物件?Java面試物件
- 小程式測試的幾個小Tips(趕快收藏啦!)
- 關於 Appium 中 ios 自動化測試的幾個問題,請教下大神,謝謝APPiOS
- 深入剖析go中字串的編碼問題——特殊字元的string怎麼轉byte?Go字串字元
- 7個關於"this"面試題,你知道幾個?面試題
- 一個關於JAVA GC的小實驗JavaGC
- Java面試鍊金系列 (1) | 關於String類的常見面試題剖析Java面試題
- 關於JS裡的字元表情亂碼JS字元
- 分享幾個Java面試小技巧,建議收藏!Java面試
- 微信小程式--關於加快小程式開發的幾個小建議微信小程式
- 關於Fabric聯盟鏈和幾個公有鏈以及基於DHT技術的HoloChain的測試AI
- 教你一個小技巧:Inputstream 轉換 String
- js視訊轉字元畫 —— 寫一個屬於自己的字元轉換器JS字元
- 獲得String字串中某個字元出現的次數字串字元
- Servlet中關於web.xml的測試ServletWebXML
- JAVA 中 string 和 int 互相轉化Java
- 關於orm的個人測試——SqlSugar與FreeSqlORMSqlSugar
- Java String 去掉特殊字元之前的內容方法Java字元
- Shell 中 $ 關於指令碼引數的幾種用法指令碼
- 關於測試
- vue中關於測試的知識介紹Vue
- 《安全測試常用的幾個工具》
- 簡單對比測試了幾個基於 swoole 的框架框架
- c++中string類物件和字元陣列之間的相互轉換C++物件字元陣列
- 最近積累的幾個關於 PHP 類與 MySQL 的小問題PHPMySql
- 軟體測試:Java-String的常用方法總結Java
- 關於軟體測試的7個核心問題
- Java中有關stringJava
- 關於字元編碼你應該知道的事情字元
- 分享Java面試中的幾個重要基礎問題!Java面試
- Java String和Date的轉換Java
- 關於Tomcat的13道面試題,你能答對幾個?Tomcat面試題
- 面試題系列:new String("abc")建立了幾個物件面試題物件
- 關於軟體驗證中的單元測試
- java的兩個bean之間複製屬性,所有屬性中替換某幾個字元JavaBean字元