⑴ 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);
自己对比。