gpt4 book ai didi

java - 将字符串更改为 byte[] - 无需实际转换

转载 作者:行者123 更新时间:2023-12-01 17:35:03 24 4
gpt4 key购买 nike

我有字符串:

String str = "KITTEN";

我想从中制作一个字节[],但只是:

byte[] mybyte = new byte[] { 'K', 'I', 'T', 'T', 'E', 'N'}

任何人都知道如何将字符串更改为那个字节[]?我能找到的一切都是关于实际转换的——请注意,我不想使用十六进制表示的字符串。

PS。问题标题可能有误 - 抱歉,不知道怎么写。

编辑:

byte[] myBytes = str.getBytes();

显示:

byte[] display = new byte[] { 0x00, 0, 0, 'K', 'I', 'T'}; 

工作,并显示:

byte[] display = new byte[] {  0x00, 0, 0, myBytes[0], myBytes[1], myBytes[2] }; 

不起作用。我尝试在通过 NFC 连接到 Android 手机的设备的屏幕上显示它。你知道是什么造成了问题吗?

最佳答案

正在转换,并且必须转换 - charbyte 不同。

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

想要这样做可能表明您之前出错了。特别是,如果您试图取回一些您最初转换为字符串而不使用 base64 或类似的东西的任意二进制数据,您很可能已经丢失了数据。

关于java - 将字符串更改为 byte[] - 无需实际转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com