字符串可以包含<;0x00>;以及java中的赋值
如果我声明一个字符串,该字符串是否可能包含字符串可以包含<;0x00>;以及java中的赋值,java,string,Java,String,如果我声明一个字符串,该字符串是否可能包含以及指定的数据 例如: String s = "Stack"; 字符串结果是否可以为: 堆叠 是的,作为: String s = "Stack\u0000\u000"; 这与C/C++不同,C/C++中的字符串以'\0'字符结尾 如果字符串必须作为字节数组传递给本机代码,那么java有一个适用于UTF-8的技巧, 一种改进的UTF-8,它还将'\u0000'转换为多字节序列: 请注意,XML中不允许使用\u0000(与其他一些控制字符一样) 顺便说一
以及指定的数据
例如:
String s = "Stack";
字符串结果是否可以为:
堆叠
是的,作为:
String s = "Stack\u0000\u000";
这与C/C++不同,C/C++中的字符串以'\0'
字符结尾
如果字符串必须作为字节数组传递给本机代码,那么java有一个适用于UTF-8的技巧,
一种改进的UTF-8,它还将'\u0000'
转换为多字节序列:
请注意,XML中不允许使用\u0000
(与其他一些控制字符一样)
顺便说一句,0字符串终止符被其发明者视为C语言中最大的错误。它还影响了处理器指令集。yes:
string s=“Stack”这听起来像是一个什么意思?谢谢@jhamon的更新,我对同样的问题没有什么疑问。1) 如果我使用具有相同字符串的PrintStream创建一个文件,在创建的文件中我将看到“Stack”?2) 我怎样才能避免在文件中写入这些内容呢?感谢@Joop Eggen的更新,我对同样的问题几乎没有疑问。1) 如果我使用具有相同字符串的PrintStream创建一个文件,在创建的文件中我将看到“Stack”?2) 如何避免在创建的文件中写入这些内容?newprintstream(newyouroutputstream(…)代码>-编写自己的筛选器输出流时未通过
。另外string.trim()
将删除尾部控制字符。