Преобразование байта в строку в Java

Я использую приведенный ниже код для преобразования байта в строку:

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

Почему он выводит "строку 99". Как изменить, чтобы он выводил "строку c"?

System.out.println(new String(new byte[]{ (byte)0x63 }, "US-ASCII"));

Обратите особое внимание, что преобразование байтов в строки всегда включает в себя кодировку. Если вы не укажете ее, вы будете использовать кодировку платформы по умолчанию, а это означает, что код может сломаться при работе в различных средах.

Комментарии (1)
Решение

Для этого преобразования подходит ctor string:

System.out.println("string " + new String(new byte[] {0x63}));
Комментарии (1)

Вы можете использовать printf:

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

Вы также можете создать строку с таким форматированием, используя String#format:

String s = String.format("string %c", 0x63);
Комментарии (1)