Binary 反斜杠零分隔符'\0';

Binary 反斜杠零分隔符'\0';,binary,binaryfiles,delimiter,Binary,Binaryfiles,Delimiter,我看到'\0'在混合二进制文件(UTF8字符串+二进制数据)中用作分隔符。谁能解释一下'\0'的意思,或者指出一个学习的好地方吗?这是空字符;此维基百科中的更多信息。\0是\000的缩写,是八进制字符转义。一般来说,您可以缩短任何后面没有八进制数字的八进制转义。这源于原始的C转义序列(\n\r\t\f\v\b\000,后者是八进制表示法中的字符值;ANSI增加了一些;\v现在有点罕见,许多现代语言都没有实现它).两个字符的\0表示在C源代码中用于表示,即ASCII值为0的(单个)字符 NUL字符

我看到
'\0'
在混合二进制文件(UTF8字符串+二进制数据)中用作分隔符。谁能解释一下
'\0'
的意思,或者指出一个学习的好地方吗?

这是空字符;此维基百科中的更多信息。

\0
\000
的缩写,是八进制字符转义。一般来说,您可以缩短任何后面没有八进制数字的八进制转义。这源于原始的C转义序列(
\n\r\t\f\v\b\000
,后者是八进制表示法中的字符值;ANSI增加了一些;
\v
现在有点罕见,许多现代语言都没有实现它).

两个字符的
\0
表示在C源代码中用于表示,即ASCII值为0的(单个)字符

NUL字符用于C样式的字符串中,以指示字符串的结尾位置。例如,字符串
“Hello”
被编码为十六进制字节:

48 65 6c 6c 6f 00
在这种情况下,C编译器会自动将
00
字节添加到任何双引号字符串的末尾。如果将常量写为“Hello\0”,则C编译器将生成:

48 65 6c 6c 6f 00 00