Java之String類型的編碼方式轉(zhuǎn)換
String類型的編碼方式轉(zhuǎn)換
在JAVA中,String類型的編碼方式轉(zhuǎn)換,String作為一個(gè)媒介,實(shí)質(zhì)是字節(jié)數(shù)組byte[]的編碼轉(zhuǎn)換。
字符串編碼后的字節(jié)數(shù)組必須通過同一編碼方式才能夠解碼。
實(shí)操代碼如下:
結(jié)果顯示:
String字符集的編碼和解碼
String編碼
byte[] getBytes()
使用平臺(tái)的默認(rèn)字符集將該String編碼位一系列字節(jié),將結(jié)果存儲(chǔ)到新的字節(jié)數(shù)組中
byte[] getBytes(String charsetName)
使用指定的字符集將該String編碼為一系列字節(jié),將結(jié)果存儲(chǔ)到新的字節(jié)數(shù)組當(dāng)中
String解碼
String(byte[] bytes)
通過使用平臺(tái)的默認(rèn)字符集解碼指定的字節(jié)數(shù)組來構(gòu)造新的String
String(byte[] bytes, String charsetName ?)
通過指定的字符集解碼指定的字節(jié)數(shù)組來構(gòu)造新的String
//編碼:把文字轉(zhuǎn)換成字節(jié)(使用指定的編碼) public static void main(String[] args) throws Exception { String name="我們終會(huì)開始,以理想為船只,以筆為武器,以決心為理性,Good luck!"; //byte[] bytes = name.getBytes();//默認(rèn)字符集(utf-8); byte[] bytes = name.getBytes("GBK"); System.out.println(bytes.length); System.out.println(Arrays.toString(bytes)); //解碼:把文字轉(zhuǎn)換成對應(yīng)的中文形式(編碼前 和 編碼后的字符集必須一致,否則亂碼) byte[] bytes1 = name.getBytes();//默認(rèn)字符集(utf-8); System.out.println(bytes.length); System.out.println(Arrays.toString(bytes1)); String rs=new String(bytes1); System.out.println(rs); byte[] bytes2 = name.getBytes("GBK");//默認(rèn)字符集(utf-8); System.out.println(bytes.length); System.out.println(Arrays.toString(bytes2)); String rs1=new String(bytes2,"GBK"); System.out.println(rs1); }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot實(shí)現(xiàn)對注解的切面案例
這篇文章主要介紹了springboot實(shí)現(xiàn)對注解的切面過程,首先定義一個(gè)注解、再編寫對注解的切面只是記錄的執(zhí)行時(shí)間和打印方法,可以實(shí)現(xiàn)其他邏輯,需要的朋友可以參考一下2022-01-01java ThreadPoolExecutor使用方法簡單介紹
這篇文章主要介紹了java ThreadPoolExecutor使用方法簡單介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02