INVERTED QUESTION MARK·U+00BF

¿

Character Information

Code Point
U+00BF
HEX
00BF
Unicode Plane
Basic Multilingual Plane
Category
Other Punctuation

Character Representations

Click elements to copy
EncodingHexBinary
UTF8
C2 BF
11000010 10111111
UTF16 (big Endian)
00 BF
00000000 10111111
UTF16 (little Endian)
BF 00
10111111 00000000
UTF32 (big Endian)
00 00 00 BF
00000000 00000000 00000000 10111111
UTF32 (little Endian)
BF 00 00 00
10111111 00000000 00000000 00000000
HTML Entity
¿
URI Encoded
%C2%BF

Description

The Unicode character U+00BF, commonly known as the Inverted Question Mark (code 191), serves a specialized role in digital typography, particularly within linguistic, technical, and programming contexts. Despite limited use in everyday text, it is often employed to denote palatalization of consonants in phonetic transcriptions, such as those found within the International Phonetic Alphabet (IPA). This character also finds application in programming and markup languages to represent specific commands or actions. The Inverted Question Mark resides within the Latin-1 Supplement Unicode block (Plane 0, range 128-255), a versatile collection of characters essential for proper formatting and presentation of written content. Its placement in this block demonstrates its role as an extension of the basic Latin character set, thereby enhancing readability and visual appeal across various text documents and applications.

How to type the ¿ symbol on Windows

Hold Alt and type 0191 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+00BF. In UTF-8, it is encoded using 2 bytes because its codepoint is in the range of 0x0080 to 0x07ff.

    Therefore we know that the UTF-8 encoding will be done over 11 bits within the final 16 bits and that it will have the format: 110xxxxx 10xxxxxx
    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+00BF to binary: 10111111. 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:
    11000010 10111111