QUESTION MARK·U+003F

?

Character Information

Code Point
U+003F
HEX
003F
Unicode Plane
Basic Multilingual Plane
Category
Other Punctuation

Character Representations

Click elements to copy
EncodingHexBinary
UTF8
3F
00111111
UTF16 (big Endian)
00 3F
00000000 00111111
UTF16 (little Endian)
3F 00
00111111 00000000
UTF32 (big Endian)
00 00 00 3F
00000000 00000000 00000000 00111111
UTF32 (little Endian)
3F 00 00 00
00111111 00000000 00000000 00000000
HTML Entity
?
URI Encoded
%3F

Description

The Unicode character U+003F, commonly known as the Question Mark (?), plays a significant role in digital text communication. This typographical symbol is widely used in written English to indicate open-ended queries, prompts for additional information, or uncertainty. Its usage transcends linguistic barriers and is employed across various languages that utilize the Latin script. In syntax, the Question Mark constructs interrogative sentences, making it an essential tool in conveying inquiry or doubt. It can be paired with other punctuation marks like quotation marks or parentheses for added emphasis or clarification. The Question Mark's relevance lies in its versatility across informal and formal contexts, making it a key component of digital text in the rapidly evolving world of typography and communication. This character is part of the Basic Latin Unicode block, which encompasses 128 essential characters from U+0000 to U+007F. The Basic Latin Unicode block, historically rooted in the ASCII character set, has evolved to accommodate modern needs and remains integral to digital communication.

How to type the ? symbol on Windows

Hold Alt and type 0063 on the numpad. Or use Character Map.

  1. Step 1: Determine the UTF-8 encoding bit layout

    The character ? has the Unicode code point U+003F. In UTF-8, it is encoded using 1 byte because its codepoint is in the range of 0x0000 to 0x007f.

    Therefore we know that the UTF-8 encoding will be done over 7 bits within the final 8 bits and that it will have the format: 0xxxxxxx
    Where the x are the payload bits.

    UTF-8 Encoding bit layout by codepoint range
    Codepoint RangeBytesBit patternPayload length
    U+0000 - U+007F10xxxxxxx7 bits
    U+0080 - U+07FF2110xxxxx 10xxxxxx11 bits
    U+0800 - U+FFFF31110xxxx 10xxxxxx 10xxxxxx16 bits
    U+10000 - U+10FFFF411110xxx 10xxxxxx 10xxxxxx 10xxxxxx21 bits
  2. Step 2: Obtain the payload bits:

    Convert the hexadecimal code point U+003F to binary: 00111111. Those are the payload bits.

  3. Step 3: Fill in the bits to match the bit pattern:

    Obtain the final bytes by arranging the paylod bits to match the bit layout:
    00111111