gpt4 book ai didi

java - java中字符串可以包含<0x00>以及指定的值吗

转载 作者:行者123 更新时间:2023-12-02 09:05:10 24 4
gpt4 key购买 nike

如果我声明一个字符串,该字符串是否有可能包含 <0x00>以及分配的数据?

例如:

String s = "Stack";

字符串结果可以是:

Stack<0x00><0x00><0x00><0x00><0x00><0x00><0x00><0x00><0x00><0x00><0x00><0x00>

最佳答案

是的,如:

String s = "Stack\u0000\u000";

这与 C/C++ 不同,在 C/C++ 中,字符串以 '\0' 字符终止。

如果必须将字符串作为字节数组传递给 native 代码,java 有一个可用于 UTF-8 的技巧,修改后的 UTF-8,还将 '\u0000' 转换为多字节序列:DataOutputStream.writeUTF(String)

请注意,XML 中不允许使用 \u0000(与其他一些控制字符一样)。

顺便说一句,0 字符串终止符被其发明者认为是 C 语言中最大的错误。它还影响了处理器指令集。

关于java - java中字符串可以包含<0x00>以及指定的值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879526/

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