将String更改为byte [] - 无需实际转换

Dos*_*i89 2 java string byte bytearray type-conversion

我有字符串:

String str = "KITTEN";
Run Code Online (Sandbox Code Playgroud)

我想从它做一个byte [],但只是:

byte[] mybyte = new byte[] { 'K', 'I', 'T', 'T', 'E', 'N'}
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何将String更改为该字节[]?我能找到的所有东西都是关于实际的转换 - 请注意我不希望有字符串的十六进制表示.

PS.问题的标题可能是错的 - 我很抱歉,不知道怎么写.

编辑:

byte[] myBytes = str.getBytes();
Run Code Online (Sandbox Code Playgroud)

显示:

byte[] display = new byte[] { 0x00, 0, 0, 'K', 'I', 'T'}; 
Run Code Online (Sandbox Code Playgroud)

工作,并显示:

byte[] display = new byte[] {  0x00, 0, 0, myBytes[0], myBytes[1], myBytes[2] }; 
Run Code Online (Sandbox Code Playgroud)

不起作用.我尝试通过NFC将其显示在连接到Android手机的设备屏幕上.你知道是什么原因造成的吗?

Jon*_*eet 6

正在转换,必须转换 - a char与a不同byte.

您可以使用"ISO-8859-1"作为要传递的编码String.getBytes(),这将为每个字符提供一个字节,仅对U + 0000到U + 00FF有效(可能包括"孔"中的字符;字符不是真的在ISO-8859-1中,但是嘿......)你会得到'?'的ASCII表示 但是对于不在该范围内的任何字符.

想要这样做可能表明你早些时候出错了.特别是,如果你试图找回一些你最初转换成字符串的任意二进制数据而不使用base64或类似的东西,你可能已经丢失了数据.