反斜杠零分隔符 '\0'

Posted

技术标签:

【中文标题】反斜杠零分隔符 \'\\0\'【英文标题】:Backslash zero delimiter '\0'反斜杠零分隔符 '\0' 【发布时间】:2011-09-16 19:59:58 【问题描述】:

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

【问题讨论】:

【参考方案1】:

它是空字符;更多信息在这个***article。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

NUL 字符在 C 风格的字符串中用于指示字符串的结尾在哪里。例如,字符串"Hello" 被编码为十六进制字节:

48 65 6c 6c 6f 00

在这种情况下,C 编译器会自动在任何双引号字符串的末尾添加 00 字节。如果你把常量写成"Hello\0",那么C编译器会生成:

48 65 6c 6c 6f 00 00

【讨论】:

以上是关于反斜杠零分隔符 '\0'的主要内容,如果未能解决你的问题,请参考以下文章

路径中关于斜杠/和反斜杠 的区别

斜杠/和反斜杠 的区别

斜杠/和反斜杠的区别

用反斜杠(\)分隔符c ++读取输入文件

Pandas.read_csv:需要反斜杠分隔符?

正斜杠/ (是一个人站立着向前倾倒)和反斜杠 (是一个人站立着向后倾倒) 的区别