나는 아래에 사용하는 코드로 변환바이트 문자열:
System.out.println("string " + Byte.toString((byte)0x63));
왜 그것을 인쇄"string99". 수정하는 방법하게 인쇄"string c"?
사용 char 대신 바이트:
System.out.println("string " + (char)0x63);
는 경우 또는 당신이 원하는 유니코드 청교도를 사용하여 코드:
System.out.println("string " + new String(new int[]{ 0x63 }, 0, 1));
과 같은 경우 old skool US-ASCII"모든 바이트는 문자"아이디:
System.out.println("string " + new String(new byte[]{ (byte)0x63 },
StandardCharsets.US_ASCII));
를 사용하지 않는문자열(byte[])
생성자를 추천서 다른 답변,그것에 의존합을 기본 문자셋을 포함한다. 상황 발생할 수 있는0x63
실제로 아't 문자c.
당신을 생성하는 새로운 문자열의 바이트 배열입니다. 첫 번째 요소에찬가지로 해당
해야0x63
. 를 추가하려는 경우 어떤 이상의 문자들찬가지로 해당
더 이상 그들을 추가하여 다음의 지수입니다.
byte[] byteArray = new byte[1];
byteArray[0] = 0x63;
try {
System.out.println("string " + new String(byteArray, "US-ASCII"));
} catch (UnsupportedEncodingException e) {
// TODO: Handle exception.
e.printStackTrace();
}
참고 인코딩을 지정하는 것이 결국 던지는UnsupportedEncodingException
고 처리해야 합는니다.