gpt4 book ai didi

java - 在java中比较byte[i]和string

转载 作者:行者123 更新时间:2023-12-01 08:14:25 25 4
gpt4 key购买 nike

我有这样的字符串

String text = "f001050000000000003d61c1c1df400200c0000009181600ef014000003f20"

我将其转换为字节以将其作为字节循环

byte[] bytes = new BigInteger(text,16).toByteArray();        
for (int i = 1; i < bytes.length; i++)
{
System.out.print(String.format("%02x ", bytes[i]));
}

我想将 i bytes[i] 的字节值与等效字符串进行比较类似的东西

for (int i = 1; i < bytes.length; i++) 
{
if (bytes[i] == "f0")
{
break;
}
System.out.print(String.format("%02x ", bytes[i]));
}

这肯定行不通,但我该如何进行比较

最佳答案

bytes[i] == "f0" 始终为 false,因为您将 byte 的值与 String 的引用进行比较

将您的条件更改为

(bytes[i] & 0xFF) == 0xF0

&oxFF 因为这样我们就可以屏蔽字节并进行 int 比较。这样,bytes[i] == -16 的条件将为 true,其位表示为 0xF0

更改了引用@isvforall注释的代码

关于java - 在java中比较byte[i]和string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609994/

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