java數(shù)組字節(jié)如何算 java中String類型的如何轉(zhuǎn)為byte[]?
java中String類型的如何轉(zhuǎn)為byte[]?1、字符串到字節(jié)數(shù)組的簡單版本:1。字符串STR=“ABCD”2。字節(jié)[]BS=字符串getBytes() 2. 復(fù)雜版本//pros-無需處理不支持
java中String類型的如何轉(zhuǎn)為byte[]?
1、字符串到字節(jié)數(shù)組的簡單版本:1。字符串STR=“ABCD”2。字節(jié)[]BS=字符串getBytes() 2. 復(fù)雜版本//pros-無需處理不支持的編碼異常//pros-指定編碼方案字節(jié)[]utf8=“abcdefgh”中的字節(jié)。獲取字節(jié)(標(biāo)準(zhǔn)字符集.UTF8) 系統(tǒng)輸出打?。ā癠TF-8中字節(jié)數(shù)組的長度:”utf8.length)系統(tǒng)輸出打?。ā癠TF-8中字節(jié)數(shù)組的內(nèi)容:”數(shù)組.toString(utf8))輸出:UTF-8中字節(jié)數(shù)組的長度:8 UTF-8中字節(jié)數(shù)組的內(nèi)容:[97、98、99、100、101、102、103、104]1擴(kuò)展數(shù)據(jù):在另一方面,使用系統(tǒng)將字節(jié)數(shù)組轉(zhuǎn)換為字符串的方法系統(tǒng)文本來自asciibytearray的公共靜態(tài)字符串(byte[]個字符){asciientoding encoding=new asciientoding()string constructedString=編碼.GetString(characters)return(構(gòu)造的字符串)}
這里有兩種方法可以嘗試:publicstaticbyte單位字節(jié)(字節(jié)str0,字節(jié)str1){字節(jié)b0=字節(jié)解碼(“0x”新字符串(new byte[]{str0})).byteValue()ub0=(byte)(ub0<< 4)byteub1=字節(jié)解碼(“0x”new String(new byte[]{str1})).byteValue()byte ret=(byte)(ub0^ub1)return ret}public static byte[]HexString2Bytes(String str){byte[]ret=new字節(jié)[結(jié)構(gòu)長度()/2]字節(jié)[]tmp=字符串getBytes()表示(int i=0 i<str.長度()/2 i){ret[i]=uniteBytes(tmp[i*2],tmp[i*2 1])}return ret}演示:String str=“1a543c3265c13d23f416e21”byte[]by=HexString2Bytes(str)