Java 如何将值从";%转换回%02x";在爪哇?
我有一个字节数组,它以已知的方式转换为字符串Java 如何将值从";%转换回%02x";在爪哇?,java,type-conversion,uuid,primitive-types,Java,Type Conversion,Uuid,Primitive Types,我有一个字节数组,它以已知的方式转换为字符串 public String getValueString(byte[] data) { StringBuilder result = ""; for(int i = 0; i < data.length; i++) { result.append(String.format("%02X", data[i])); } return result.toString; } 在我的情况下不起作用。非常简
public String getValueString(byte[] data) {
StringBuilder result = "";
for(int i = 0; i < data.length; i++) {
result.append(String.format("%02X", data[i]));
}
return result.toString;
}
在我的情况下不起作用。非常简单,请尝试:
将字节数组转换为UIID:
怎么样:
int len=s.length();
字节[]数据=新字节[len/2];
对于(int i=0;i这是非常简单的尝试:
将字节数组转换为UIID:
怎么样:
int len=s.length();
字节[]数据=新字节[len/2];
对于(int i=0;i 数据[i/2]=(字节)((Character.digit(s.charAt(i),16)以下是将十六进制数转换回字节的方法:
String str = "4FDD3A";
byte[] bytes = new byte[str.length()/2];
for (int i = 0; i < str.length(); ++i) {
if ((i+1)*2 <= str.length()) {
bytes[i] = (byte) Integer.parseInt(str.substring(i*2, (i+1)*2), 16);
}
}
for (byte b: bytes) {
System.out.format("%02x\n", b);
}
String str=“4FDD3A”;
byte[]bytes=新字节[str.length()/2];
对于(int i=0;i 如果((i+1)*2这里有一种将十六进制数转换回字节的方法:
String str = "4FDD3A";
byte[] bytes = new byte[str.length()/2];
for (int i = 0; i < str.length(); ++i) {
if ((i+1)*2 <= str.length()) {
bytes[i] = (byte) Integer.parseInt(str.substring(i*2, (i+1)*2), 16);
}
}
for (byte b: bytes) {
System.out.format("%02x\n", b);
}
String str=“4FDD3A”;
byte[]bytes=新字节[str.length()/2];
对于(int i=0;i 如果((i+1)*2谢谢,但我确实需要以字节为单位的数据,而不是再次打印为字符串和格式。这只是为了证明结果是正确的。显然不需要打印。谢谢,但我确实需要以字节为单位的数据,而不是再次打印为字符串和格式。这只是为了证明结果是正确的。显然,pri最后一个做了这个把戏,非常感谢,我坚持了几个小时)可能需要减少工作)最后一个做了这个把戏,非常感谢,我坚持了几个小时)可能需要减少工作
ByteBuffer bb = ByteBuffer.wrap(inputByteArray);
long firstLong = bb.getLong();
long secondLong = bb.getLong();
return new UUID(firstLong, secondLong);
int len = s.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
+ Character.digit(s.charAt(i+1), 16));
}
String str = "4FDD3A";
byte[] bytes = new byte[str.length()/2];
for (int i = 0; i < str.length(); ++i) {
if ((i+1)*2 <= str.length()) {
bytes[i] = (byte) Integer.parseInt(str.substring(i*2, (i+1)*2), 16);
}
}
for (byte b: bytes) {
System.out.format("%02x\n", b);
}