1. java中將16進制字元串轉換byte數組
為什麼你中間要專門寫這個 ,(byte)0xFF,(byte)0xFF,
這兩個數字有啥特別的么
2. java byte轉16進制
//將指定byte數組以16進制的形式列印到控制台
public
static
void
printHexString(
byte[]
b)
{
for
(int
i
=
0;
i
<
b.length;
i++)
{
String
hex
=
Integer.toHexString(b[i]
&
0xFF);
if
(hex.length()
==
1)
{
hex
=
'0'
+
hex;
}
System.out.print(hex.toUpperCase()
);
}
}
3. java中如何將byte[]裡面的數據轉換成十六進制
/* *
* Convert byte[] to hex string.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字元串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能將byte[]轉化成16進制字元串,希望能幫到你。
4. JAVA中有多個十六進制字元串轉成Byte數組,有什麼方法
給你如下兩個方法,你可以試試:
publicstaticbyteuniteBytes(bytestr0,bytestr1){
byte_b0=Byte.decode("0x"+newString(newbyte[]{str0})).byteValue();
_b0=(byte)(_b0<<4);
byte_b1=Byte.decode("0x"+newString(newbyte[]{str1})).byteValue();
byteret=(byte)(_b0^_b1);
returnret;
}
publicstaticbyte[]HexString2Bytes(Stringstr){
byte[]ret=newbyte[str.length()/2];
byte[]tmp=str.getBytes();
for(inti=0;i<str.length()/2;i++){
ret[i]=uniteBytes(tmp[i*2],tmp[i*2+1]);
}
returnret;
}
demo:
Stringstr="1A543C3265C133D23F416E21"
byte[]by=HexString2Bytes(str);
5. java byte,二進制,16進制
看樣子,是4個8位。。。。。
有用的是前面2個8位。。。。。
(byte[3] & 0x4) == 4 ? 0 : 1 設置第4位
6. java把16進制的字元串裝換成16進制形式的byte數組
public static void main(String[] args) {
String[] s = "0X0C|0X03|0X00|0X04|0X00|0X02|0X84|0XD7".split("|");
Map<String,Object> map = new HashMap<String,Object>();
for (int i = 0; i < s.length; i++) {
System.out.println(s[i].getBytes());
map.put(s[i], s[i].getBytes());
}
}
?不太明白意思 轉成16進制,做什麼?
7. java byte 怎麼表示16進制
* Convert byte[] to hex string.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)來轉換成16進制字元串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
/**
* Convert hex string to byte[]
* @param hexString the hex string
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}
/**
* Convert char to byte
* @param c char
* @return byte
*/
private byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
8. java中如何將byte[]裡面的數據轉換成十六進制
方法如下:
/* *
* Convert byte[] to hex string.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字元串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能將byte[]轉化成16進制字元串,
9. 在java中將16進制轉化為byte類型,再將byte類型轉換回來,請大神解答急
public class HexCodec {
private static final char[] kDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a',
'b', 'c', 'd', 'e', 'f' };
public static byte[] hexToBytes(char[] hex) {
int length = hex.length / 2;
byte[] raw = new byte[length];
for (int i = 0; i < length; i++) {
int high = Character.digit(hex[i * 2], 16);
int low = Character.digit(hex[i * 2 + 1], 16);
int value = (high << 4) | low;
if (value > 127)
value -= 256;
raw[i] = (byte) value;
}
return raw;
}
public static byte[] hexToBytes(String hex) {
return hexToBytes(hex.toCharArray());
}
}
public static String toHex(byte b){
return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xf));
}
10. Java:轉16進制時常見的【byte[i] & 0xFF】是什麼意思呢
int v ; 這里不論你賦值給v什麼值,v都會是四個位元組的整數
所以,調用Integer.toHexString(v); 出來的還是32位的字元串
b[i] & 0xFF只是保證了v的前三個位元組是0,只有最後一個位元組有數