⑴ 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進制字元串,希望能幫到你。
⑵ 用java,把十進制byte類型數字轉換為,十六進制的byte類型數字,格式為"0x28",這樣的!
publicclassMa{
publicstaticvoidmain(String[]args){
bytea=40;
Stringa0=Integer.toHexString(a);
System.out.println("0x"+a0);
}
}
⑶ java byte 轉到16進制輸出 不要方法 只要結果
「轉成16進制」 是轉成16進製表示字元串嗎?
"結果長度應該是16" 現在一共有16個數字,像91等數字轉成16進制後就不止1位。所以請題主明確下這個「結果」是怎樣的格式。
⑷ 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() );
}
}
⑸ byte轉換16進制 java
public static final String toHex(byte b) {
return ("" + "0123456789ABCDEF".charAt(0xf & b >> 4) + "0123456789ABCDEF".charAt(b & 0xf));
}
這樣比你那樣方便多了 呵呵 用我給你的方法單個解析byte就可以了
⑹ java byte類型的二進制 1001 0001 轉化成16進制是多少
1001 0001 的16進制是9 1
⑺ java字元串轉換為十六進制數組
字元串作為函數change的參數inputStr
byte[] change(String inputStr) {
byte[] result = new byte[inputStr.length() / 2];
for (int i = 0; i < inputStr.length() / 2; ++i)
result[i] = (byte)(Integer.parseInt(inputStr.substring(i * 2, i * 2 +2), 16) & 0xff);
return result;
}
⑻ Java:關於byte轉16進制的& 0xFF,我的理解正確嗎
/**
*Convertbyte[]tohexstring.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字元串。
*@paramsrcbyte[]data
*@returnhexstring
*/
(byte[]src){
StringBuilderstringBuilder=newStringBuilder("");
if(src==null||src.length<=0){
returnnull;
}
for(inti=0;i<src.length;i++){
intv=src[i]&0xFF;
Stringhv=Integer.toHexString(v);
if(hv.length()<2){
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
returnstringBuilder.toString();
}
⑼ 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);
}
⑽ java中byte字元串轉換為16進制
byte arr[]={-85, -51, -28, 21, 3}; String s="";
for(int i=0;i<arr.length;i++)s+=Integer.toHexString(arr[i]&0xff);
System.out.println(s);
自己對比。