java에서 ASCII를 16 진수 값으로 변환하는 방법. 예를 들어자바에서 ASCII를 16 진수 값으로 변환하는 방법
:
ASCII : 31 32 2E (30) (31) (33)
진수 : 12.013
java에서 ASCII를 16 진수 값으로 변환하는 방법. 예를 들어자바에서 ASCII를 16 진수 값으로 변환하는 방법
:
ASCII : 31 32 2E (30) (31) (33)
진수 : 12.013
그것은이다 아닌 "진수"문자열이기 때문에 당신이 요구하는 것을 완전히 명확 사실 10 진수입니다. 나는 당신이 double을 표현하는 ASCII 문자열을 취하려고하고 이중의 형태로 그 값을 얻으려고한다고 믿는다.이 경우에 Double.parseDouble을 사용하면 충분할 것이다. double 값의 16 진수 문자열을 출력해야하는 경우 Double.toHexString을 사용할 수 있습니다. 프리미티브 래퍼 클래스의 구문 분석 함수 중 하나를 호출 할 때마다 NumberFormatException을 알아야합니다.
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를 16 진수 값으로 변환하지 않았습니다. 너는 char
값을 16 진법으로 가지고 있었고, 그 값을 String
으로 바꾸고 싶습니다. 나는 당신의 질문을 어떻게 해석하고 있습니다.
String s = new String(new char[] {
0x31, 0x32, 0x2E, 0x30, 0x31, 0x33
});
System.out.println(s); // prints "12.013"
당신이 문자열을 제공하고, 인쇄 할거야 아마도 경우는 16 진수로,이 그것을 수행하는 방법입니다 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 "
는 "진수 : 12.013"? .. – cherouvim
@cherouvim : '0x31로 회신 == 49' 및 ASCII 49 1'''이다. – polygenelubricants
@ polygenelubricants : 해독에 감사드립니다. 질문은 불분명하다. – cherouvim