gpt4 book ai didi

java - 可以从非空的 UTF-8 字节数组创建一个空的 java 字符串吗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:19:00 25 4
gpt4 key购买 nike

我正在尝试调试一些东西,我想知道下面的代码是否可以返回 true

public boolean impossible(byte[] myBytes) {
if (myBytes.length == 0)
return false;
String string = new String(myBytes, "UTF-8");
return string.length() == 0;
}

是否有一些我可以传递的值会返回 true?我试过只传入一个 2 字节序列的第一个字节,但它仍然生成一个字符串。

澄清一下,这发生在 PowerPC 芯片上,Java 1.4 代码通过 GCJ 编译为 native 二进制可执行文件。这基本上意味着大多数赌注都没有了。我主要想知道 Java 的“正常”行为或 Java 规范是否做出了任何 promise 。

最佳答案

根据 java.util.String 的 javadoc,当字节数组包含无效或意外数据时,未指定 new String(byte[], "UTF-8") 的行为。如果您希望结果字符串具有更高的可预测性,请使用 http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/CharsetDecoder.html .

关于java - 可以从非空的 UTF-8 字节数组创建一个空的 java 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/835385/

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