如何在java中将ASCII值转换为十六进制值

如何在java中将ASCII值转换为十六进制值,java,Java,如何在java中将ASCII值转换为十六进制值 例如: ASCII:31 32 2E 30 31 33 十六进制:12.013 由于“十六进制”字符串实际上是十进制的,所以不完全清楚您在问什么。我相信您正在尝试获取表示double的ASCII字符串,并以double的形式获取其值,在这种情况下,使用应该足以满足您的需要。若您需要输出一个双倍值的十六进制字符串,那个么您可以使用。注意,无论何时调用一个原始包装器类的解析函数,都需要捕获 byte[] ascii = {(byte)0x31, (by

如何在java中将ASCII值转换为十六进制值

例如:

ASCII:31 32 2E 30 31 33

十六进制:12.013


由于“十六进制”字符串实际上是十进制的,所以不完全清楚您在问什么。我相信您正在尝试获取表示double的ASCII字符串,并以double的形式获取其值,在这种情况下,使用应该足以满足您的需要。若您需要输出一个双倍值的十六进制字符串,那个么您可以使用。注意,无论何时调用一个原始包装器类的解析函数,都需要捕获

byte[] ascii = {(byte)0x31, (byte)0x32, (byte)0x2E, (byte)0x30, (byte)0x31, (byte)0x33}; String decimalstr = new String(ascii,"US-ASCII"); double val = Double.parseDouble(decimalstr); String hexstr = Double.toHexString(val); 字节[]ascii={(字节)0x31,(字节)0x32,(字节)0x2E,(字节)0x30,(字节)0x31,(字节)0x33}; 字符串小数str=新字符串(ascii,“US-ascii”); double val=double.parseDouble(decimalstr); 字符串hextr=Double.tohextstring(val);
您没有将ASCII转换为十六进制值。你有十六进制的
char
值,你想把它转换成
字符串
这就是我对你问题的解释

    String s = new String(new char[] {
        0x31, 0x32, 0x2E, 0x30, 0x31, 0x33
    });
    System.out.println(s); // prints "12.013"
如果您可能获得了字符串,并且希望将其
char
打印为十六进制,那么下面是如何执行的:

    for (char ch : "12.013".toCharArray()) {
        System.out.print(Integer.toHexString(ch) + " ");
    } // prints "31 32 2e 30 31 33 "
您还可以使用
%H
格式字符串:

    for (char ch : "12.013".toCharArray()) {
        System.out.format("%H ", ch);
    } // prints "31 32 2E 30 31 33 "

@cherouvim:
0x31==49
,ASCII 49是
'1'
@polygene润滑剂:谢谢您的解密。问题还不清楚。