변환바이트 문자열에서 Java

나는 아래에 사용하는 코드로 변환바이트 문자열:

System.out.println("string " + Byte.toString((byte)0x63));

왜 그것을 인쇄"string99". 수정하는 방법하게 인쇄"string c"?

질문에 대한 의견 (1)
System.out.println(new String(new byte[]{ (byte)0x63 }, "US-ASCII"));

참고 특히 변환하는 것 바이트는 문자열항상포함한 인코딩이 있습니다. 를 지정하지 않는 경우,그것을 당신이'될 것 플랫폼을 사용하여 기본 인코딩을 의미하는 코드를 끊을 수 있을 때 다른 환경에서 실행.

해설 (1)
해결책

문자열 ctor 은 이에 적합한 변환:

System.out.println("string " + new String(new byte[] {0x63}));
해설 (1)

사용 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.

해설 (0)

당신이 사용할 수 있printf:

System.out.printf("string %c\n", 0x63);

뿐만 아니라 할 수 있습을 만들 문자열과 같은 포맷을 사용하여문자열#형식의:

String s = String.format("string %c", 0x63);
해설 (1)

당신이 사용할 수 있는

문자와 동등하 0x63 는'c'그러나 바이트는 동일합니다 99

System.out.println("byte "+(char)0x63); 
해설 (0)

당신을 생성하는 새로운 문자열의 바이트 배열입니다. 첫 번째 요소에찬가지로 해당해야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고 처리해야 합는니다.

해설 (0)

경's 싱글바이트,그냥 주는바이트char고 그것을 밖으로 작동이 잘 될 즉 줄char엔티티에 해당하는 코드포인트 값의 주어진 바이트입니다. 하지 않을 경우,사용자 문자열의`생성자를 언급했습니다.

char ch = (char)0x63;
System.out.println(ch);
해설 (0)
String str = "0x63";
int temp = Integer.parseInt(str.substring(2, 4), 16);
char c = (char)temp;
System.out.print(c);
해설 (0)

이 버전:

public String convertBytestoString(InputStream inputStream)
{
    int bytes;
    byte[] buffer = new byte[1024];

    bytes = inputStream.read(buffer);
    String stringData = new String(buffer,0,bytes);

    return stringData;

}
해설 (0)