NAK
Negative Acknowledge
ControlASCII 21 | Hex 0x15 | U+0015
NAK (code 21) indicates that a received data block contained errors. In BSC and Kermit protocols, the receiver sends NAK to request retransmission of the corrupted block. The ACK/NAK mechanism is a simple form of automatic repeat request (ARQ) error recovery. NAK differs from a timeout: NAK means "I received your data but it failed the checksum," while a timeout means "I received nothing at all." Modern protocols like TCP use selective acknowledgment (SACK) instead of per-block NAK/ACK.
ASCII Code
Decimal
21
Hexadecimal
0x15
Octal
25
Binary
0001 0101
Unicode
Code Point
U+0015
Escape
\u0015
UTF-8 Hex
0xE2 0x90 0x95
UTF-8 Binary
111000101001000010010101
UTF-16
0x0015
UTF-32
0x00000015
HTML Entities
Numeric

Hex

How to Type
HTML Entity

Unicode InputU+0015
Source Code Representations
C / Java
"\u0015"CSS
\0015JavaScript
"\u0015"Perl
\x{0015}Python 2
u"\u0015"Python 3
\u0015Ruby
\u{0015}Frequently Asked Questions
What is ASCII code 21?
ASCII code 21 represents the Negative Acknowledge character. In hexadecimal it is 0x15, in binary 0001 0101, and in octal 25. This is a non-printable control character used for device signaling and data transmission control.
How do I type ASCII 21 on a keyboard?
Control characters are typically entered using Ctrl key combinations. For example, Ctrl+U produces ASCII 21 in most terminal emulators. You can also use the HTML entity  in web pages.