byte ---> hex String
3617 ワード
public static String byte2HexString(byte[] b){
String ret = "";
for(int i=0;i<b.lenght;i++){
String hex = Integer.toHexString(b[i]&0XFF);
if(hex.length()==1){
hex = '0'+hex;
}
ret+=hex.toUpperCase();
}
return ret;
}
1バイト8ビット1個BYTEと前2個hex文字1個HEX文字4ビット
2 Integer.toHexString(int ---);
作用int(十進法有符号)--->String(十六進法)
3 byte ==>int
byte b;
int i=b&0Xff;
解析:byte-->8ビットint 32ビット
byte回転intビット数が足りなくて補位にずれがあるため、クリアが必要な高24ビットは上0 xFFと
補数:
1111 1111
[ 1111 1111 ] [ 1111 1111 ] [ 1111 1111 ] [1111 1111]
0 XFFFFFFと上0 Xff高さ24ビットクリア
&
1&1 -->1
1&0 -->0
0&1 -->0
0&0 --->0
1|1 -->1
1|0 -->1
0|1 -->1
0|0 -->0
byte b = 24;
int i = b&FF; クリア高さ24ビット
-2
バイト1111 1110補数
ワード1111 1111 1111 1110補符号
バイト1000 0010ソース
字0000 0000 1000 0010ソースコード
にしんじっしん
1B byte = 8 bit 1B = 8bit 1B=8bit
1 KB =1024B 1KB= 2^10B 1KB = 10^3B
1MB =1024kb 1MB = 2^20B 1MB=10^6b
1GB = 1024mb 1GB = 2^30B 1GB = 10^9B
1TB = 1024GB 1TB= 2^40B 1TB= 10^12B
1024 2^10 10^3
hex string == byte
1 hex string -- integer Integer i = Integer.parseInt("EA",16);
2 integer -- byte Byte b = i.byteValue();
Byte HexString byte b = -22;
1 byte -->integer Integer i = b.intValue();
2 integer -->string String newII = Integer.toHexString(ii).subString(6,8);