Java 如何将数据转换为格式化字节?
有人对如何将数据(主要是字符串)转换为格式化字节表示有什么建议吗 例如,如果我输入字符串“01”,我想得到Java 如何将数据转换为格式化字节?,java,hex,byte,Java,Hex,Byte,有人对如何将数据(主要是字符串)转换为格式化字节表示有什么建议吗 例如,如果我输入字符串“01”,我想得到0001,或者如果我输入“0001”,我想得到0001 public static void main(String[] args) { System.out.println(toFormattedHexadecimal("01A")); } public static String toFormattedHexadecimal(String input) { String
0001
,或者如果我输入“0001”,我想得到0001
public static void main(String[] args) {
System.out.println(toFormattedHexadecimal("01A"));
}
public static String toFormattedHexadecimal(String input) {
String result = "";
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
result += Integer.toHexString(ch);
result += " ";
}
return result;
}
我尝试过使用ByteBuffer,但输出总是8位长,即01=>0001
公共静态void main(String[]args){
public static void main(String[] args) {
System.out.println(toFormattedHexadecimal("01A"));
}
public static String toFormattedHexadecimal(String input) {
String result = "";
for (int i = 0; i < input.length(); i++) {
char ch = input.charAt(i);
result += Integer.toHexString(ch);
result += " ";
}
return result;
}
System.out.println(格式为十六进制(“01A”);
}
公共静态字符串到格式十六进制(字符串输入){
字符串结果=”;
对于(int i=0;i
此代码将输出“30 31 41”,即每个字符的ASCII代码。我以前从未见过此表示法,因为它听起来效率很低。然而,你能做的是
public static void main(String... args) throws IOException {
System.out.println("01 => " + Arrays.toString(byteValues("01")));
System.out.println("0001 => " + Arrays.toString(byteValues("0001")));
System.out.println("0123456789ABCDEF => " + Arrays.toString(byteValues("0123456789ABCDEF")));
}
public static byte[] byteValues(String text) {
byte[] bytes = new byte[text.length()];
for(int i=0;i<text.length();i++)
bytes[i] = (byte) Character.getNumericValue(text.charAt(i));
return bytes;
}
什么是“格式化字节表示”?看起来您只是在每个字符前面加上一个0,并在结果对之间添加空格。