开发者

Backslash zero delimiter '\0'

I have seen '\0' to be used as a delimiter in mixed binary files (UTF8 strings + binary data). Could anyone explain what '\0' means 开发者_如何学编程or point to a good place to study?


It's the null character; more info in this Wikipedia article.


The two-character \0 representation is used in C source code to represent the NUL character, which is the (single) character with ASCII value 0.

The NUL character is used in C style character strings to indicate where the end of the string is. For example, the string "Hello" is encoded as the hex bytes:

48 65 6c 6c 6f 00

In this case, the C compiler automatically adds the 00 byte on the end of any double-quoted string. If you wrote the constant as "Hello\0", then the C compiler would generate:

48 65 6c 6c 6f 00 00


\0 is shorthand for \000 which is an octal character escape. In general, you can shorten any octal escape that isn't followed by an octal digit. This derives from the original C escape sequences (\n \r \t \f \v \b \000 where the latter is a character value in octal notation; ANSI added some, and \v is somewhat rare these days and many more modern languages don't implement it).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜