java中位元組陣列與其他各型別的轉換

2021-07-11 23:19:33 字數 1128 閱讀 8987

1,怎樣將乙個字串轉換為位元組陣列:

//模擬的字串

string a="abcdefghij";

//定義乙個位元組陣列

byte arr=new byte[25];

//將字串轉換成對應的位元組放入位元組陣列中(也可以自己乙個個放)

arr=a.getbytes();

然後呼叫輸出流的write方法直接將位元組陣列傳輸出去

2,將數字轉換為位元組陣列:

若只有一位,賦值強轉(加上byte)即可,16進製制一樣。

若要轉換成4位:

public static byte inttobytearray(int i)

3,將位元組陣列轉化為字串:

string s = "fs123fdsa";//string變數 

byte b = s.getbytes();//string轉換為byte

string t = new string(b);//bytep轉換為string

4,位元組陣列轉化為數字:

專案中是先將byte的每個陣列(8位)轉化成對應的整數,將整數轉化為對應的16進製制字串,擷取表示整數的部分,通過integer.parseint轉化為對應的整數**化為string型別時用了類似的方法)。即全部轉化為16進製制再處理。

5,返回16進製制字串對應的16進製制對應的位元組:

這句話有點彆扭。比如「638666138e84c05f」是位元組對應的16進製制數,但顯示在螢幕上的是個字串,並不是16進製制,這可以用commons-codec的hex.encodehexstring直接轉換過來。同樣,我們要用這個16進製制串對應的位元組,轉這個字串肯定是不行的,要的是它的16進製制對應的字串,就用到了下面的方法:

public static byte tobytearray(string hexstring) 

return bytearray;

}

6,位元組對應的16進製制數轉成對應的16進製制數的字串:

不解釋了,跟5是逆過程:638666138e84c05f--》「638666138e84c05f」

C C 中各型別資料所佔位元組數

ref 和機器字長及編譯器有關係 所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 1.sizeof short int sizeof int 2.sizeof int sizeof long int 3.short int至少應...

C語言各型別所佔位元組數

1 struct結構體變數大小等於結構體中的各個成員變數所佔記憶體大小總和,union共用體變數大小等於共用體結構中占用記憶體最大的成員的記憶體大小 聯合體中占用記憶體空間最大的字段加上填充位元組 對齊位元組後所需位元組數 2 列舉型別,指乙個被命名的整型常數的集合。即列舉型別,本質上是一組常數的集...

java 位元組陣列取反

最近在測試公司軟體的乙個功能,它會讀取乙個配置檔案資訊,但是配置檔案做了個加密處理,處理的方式就是所有的位元組都取反。這個是乙個很簡單的功能,結果卻花了好一會兒 主要還是基礎太薄弱了,mark一下吧 這裡就直接貼 吧 public static void main string args throw...