! is the Unicode character EXCLAMATION MARK, code point U+0021 (decimal 33) in the Basic Latin block, added in Unicode 1.1. In HTML write !, and in UTF-8 it is the single byte 21.
Codes
| Where | How to write it |
|---|---|
| Code point | U+0021 |
| Decimal | 33 |
| UTF-8 bytes | 21 |
| UTF-16 (big-endian) | 0021 |
| UTF-32 | 00000021 |
| HTML decimal | ! |
| HTML hex | ! |
| HTML named | ! |
| CSS | \21 |
| JavaScript | \u0021 |
| JSON | \u0021 |
| Python | \u0021 |
| Python by name | \N{EXCLAMATION MARK} |
| Java, C# | \u0021 |
| Rust, Swift | \u{21} |
| Go, C, C++ | \u0021 |
| URL (percent-encoded) | %21 |
JavaScript and JSON strings store text as UTF-16, so this character is one code unit long. Python 3 strings count code points, so its length there is 1.
Properties
| Property | Value |
|---|---|
| Name | EXCLAMATION MARK |
| Code point | U+0021 (decimal 33) |
| Block | Basic Latin (U+0000–U+007F) |
| General category | Po: Other punctuation |
| Script | Common |
| Bidirectional class | ON: Other neutral |
| Mirrored in right-to-left text | No |
| First in Unicode version | 1.1 |
Nearby in Basic Latin
- U+0019 End Of Medium
- U+001A Substitute
- U+001B Escape
- U+001C Information Separator Four
- U+001D Information Separator Three
- U+001E Information Separator Two
- U+001F Information Separator One
- U+0020 Space
- " U+0022 Quotation Mark
- # U+0023 Number Sign
- $ U+0024 Dollar Sign
- % U+0025 Percent Sign
- & U+0026 Ampersand
- ' U+0027 Apostrophe
- ( U+0028 Left Parenthesis
- ) U+0029 Right Parenthesis
All 128 characters: Basic Latin.
Official reference
Questions people ask
- What is the HTML code for !?
- Use the named entity !, or ! (decimal) or ! (hex).
- What is the UTF-8 encoding of U+0021?
- 21 (hex), 1 byte. In a URL it is %21.
- How do I write U+0021 in JavaScript or Python?
- JavaScript: \u0021. Python: \u0021.
Source
Unicode Character Database 18.0.0 (Unicode License v3); HTML entity names from the WHATWG HTML Standard (CC BY 4.0). The encodings above are computed from the code point and checked against Python's encoders. How the character looks depends on your fonts.
Legal entity
Devansh Yadav
Moradabad, Uttar Pradesh
Governing law: Courts at Moradabad, Uttar Pradesh
Phone: +91 8433475698
Legal: legal@analyzeit.in