Saya menggunakan kode di bawah ini untuk mengubah byte menjadi string:
System.out.println("string " + Byte.toString((byte)0x63));
Mengapa mencetak "string 99". Bagaimana cara memodifikasi agar bisa mencetak "string c"?
System.out.println(new String(new byte[]{ (byte)0x63 }, "US-ASCII"));
Perhatikan terutama bahwa mengkonversi byte ke String selalu melibatkan pengkodean. Jika Anda tidak menentukannya, Anda akan menggunakan pengkodean default platform, yang berarti kode dapat rusak saat berjalan di lingkungan yang berbeda.
Anda bisa menggunakan printf
:
System.out.printf("string %c\n", 0x63);
Anda juga bisa membuat String dengan format seperti itu, menggunakan String#format
:
String s = String.format("string %c", 0x63);