Null
Symbol Meaning
The Null symbol was developed for use in computer terminals, printers, text processing systems, and telecommunications equipment to indicate an empty or invalid position in a data stream.
It's the first symbol in Unicode and ASCII taking the zeroth position. Null is used in various ways, such as indicating the end of lines or data blocks, filling space between data elements, preventing the processing of data after a certain stage, etc. As for programming and text data processing, Null can be used as a marker for the end of a string or array of characters, especially in programming languages such as C and C++. They are called C-strings, other names include null-terminated strings or ASCIZ strings. According to this approach, the code working with the string initially does not know its length and processes the characters consequently, until it encounters a null character.
/* Type a string */
i = 0; // start from the beginning of the string
while (s[i] != 0) { // work until the current character is \0
echo s[i]; // type the next character
i++; // move to the next one
}
The disadvantages of this approach are the following:
- The length of the string is not known in advance;
- The string can't contain null directly \0;
- If you forget to write \0 at the end or delete it accidentally, the code will continue to work, but the consequences will be unpredictable.
In case of using fixed-width multibyte encodings, the null character should also occupy the required number of bytes. For example, in UCS-2 it's two null bytes. An alternative approach to organizing strings would be to store the length of the string in a separate variable.
However, complete ignorance of this character may sometimes lead to unwanted consequences. For example, some old browsers interpreted a string like <\0script>
as <script>
, which enabled attackers to inject XSS into other sites (whose authors did not anticipate this nuance when processing data).
Escape sequence \0
is available in many programming languages to insert this character.
Like other control characters, this symbol doesn't possess any visual representation and does not occupy a lot of space on the screen or in printing. In the Control Pictures2400–243F section, there is a separate symbol representing the graphical representation of the null character in the form of the abbreviation NUL — ␀ .
Escape sequence: \0
.
This symbol is one of the eight control characters, the presence of which is required by the POSIX standard:
The symbol “Null” is included in the “C0 controls” subblock of the “Basic Latin” block and was approved as part of Unicode version 1.1 in 1993.
Text is also available in the following languages: Русский;
Synonyms
NUL.
Unicode Name | Null |
Unicode Number | |
HTML Code | |
CSS Code | |
Plane | 0: Basic Multilingual Plane |
Unicode Block | Basic Latin |
Unicode Subblock | C0 controls |
Unicode Version | 1.1 (1993) |
Keyboard shortcut | ^@ |
Escape sequences | \0 |
Alt Code |
Alt 130(English Keyboard Layout)
|
Type of paired mirror bracket (bidi) | None |
Composition Exclusion | No |
Case change | 0000 |
Simple case change | 0000 |
scripts | Common |
Encoding | hex | dec (bytes) | dec | binary |
---|---|---|---|---|
UTF-8 | 00 | 0 | 0 | 00000000 |
UTF-16BE | 00 00 | 0 0 | 0 | 00000000 00000000 |
UTF-16LE | 00 00 | 0 0 | 0 | 00000000 00000000 |
UTF-32BE | 00 00 00 00 | 0 0 0 0 | 0 | 00000000 00000000 00000000 00000000 |
UTF-32LE | 00 00 00 00 | 0 0 0 0 | 0 | 00000000 00000000 00000000 00000000 |