Home: go to the homepage U+FE70 to U+FEFF Arabic Presentation Forms-B
Glyph for U+FEFF
Source: Noto Sans

U+FEFF Zero Width No-Break Space

U+FEFF was added in Unicode version 1.1 in 1993. It belongs to the block U+FE70 to U+FEFF Arabic Presentation Forms-B in the U+0000 to U+FFFF Basic Multilingual Plane.

This character is a Format and is commonly used, that is, in no specific script. The character is also known as BOM and ZWNBSP.

The glyph is not a composition. It has no designated width in East Asian texts. In bidirectional text it acts as Boundary Neutral. When changing direction it is not mirrored. U+FEFF prohibits a line break around it.

The Wikipedia has the following information about this codepoint:

The byte-order mark (BOM) is a particular usage of the special Unicode character code, U+FEFF ZERO WIDTH NO-BREAK SPACE, whose appearance as a magic number at the start of a text stream can signal several things to a program reading the text:

  • the byte order, or endianness, of the text stream in the cases of 16-bit and 32-bit encodings;
  • the fact that the text stream's encoding is Unicode, to a high level of confidence;
  • which Unicode character encoding is used.

BOM use is optional. Its presence interferes with the use of UTF-8 by software that does not expect non-ASCII bytes at the start of a file but that could otherwise handle the text stream.

Unicode can be encoded in units of 8-bit, 16-bit, or 32-bit integers. For the 16- and 32-bit representations, a computer receiving text from arbitrary sources needs to know which byte order the integers are encoded in. The BOM is encoded in the same scheme as the rest of the document and becomes a noncharacter Unicode code point if its bytes are swapped. Hence, the process accessing the text can examine these first few bytes to determine the endianness, without requiring some contract or metadata outside of the text stream itself. Generally the receiving computer will swap the bytes to its own endianness, if necessary, and would no longer need the BOM for processing.

The byte sequence of the BOM differs per Unicode encoding (including ones outside the Unicode standard such as UTF-7, see table below), and none of the sequences is likely to appear at the start of text streams stored in other encodings. Therefore, placing an encoded BOM at the start of a text stream can indicate that the text is Unicode and identify the encoding scheme used. This use of the BOM is called a "Unicode signature".

Representations

System Representation
65279
UTF-8 EF BB BF
UTF-16 FE FF
UTF-32 00 00 FE FF
URL-Quoted %EF%BB%BF
HTML hex reference 
Wrong windows-1252 Mojibake 
alternate BYTE ORDER MARK
abbreviation BOM
abbreviation ZWNBSP
alias BOM
alias ZWNBSP
Encoding: GB18030 (hex bytes) 84 31 95 33
Adobe Glyph List zerowidthjoiner

Elsewhere

Complete Record

Property Value
Age (age) 1.1 (1993)
Unicode Name (na) ZERO WIDTH NO-BREAK SPACE
Unicode 1 Name (na1) BYTE ORDER MARK
Block (blk) Arabic Presentation Forms-B
General Category (gc) Format
Script (sc) Common
Bidirectional Category (bc) Boundary Neutral
Combining Class (ccc) Not Reordered
Decomposition Type (dt) none
Decomposition Mapping (dm) Glyph for U+FEFF Zero Width No-Break Space
Lowercase (Lower)
Simple Lowercase Mapping (slc) Glyph for U+FEFF Zero Width No-Break Space
Lowercase Mapping (lc) Glyph for U+FEFF Zero Width No-Break Space
Uppercase (Upper)
Simple Uppercase Mapping (suc) Glyph for U+FEFF Zero Width No-Break Space
Uppercase Mapping (uc) Glyph for U+FEFF Zero Width No-Break Space
Simple Titlecase Mapping (stc) Glyph for U+FEFF Zero Width No-Break Space
Titlecase Mapping (tc) Glyph for U+FEFF Zero Width No-Break Space
Case Folding (cf) Glyph for U+FEFF Zero Width No-Break Space
ASCII Hex Digit (AHex)
Alphabetic (Alpha)
Bidi Control (Bidi_C)
Bidi Mirrored (Bidi_M)
Composition Exclusion (CE)
Case Ignorable (CI)
Changes When Casefolded (CWCF)
Changes When Casemapped (CWCM)
Changes When NFKC Casefolded (CWKCF)
Changes When Lowercased (CWL)
Changes When Titlecased (CWT)
Changes When Uppercased (CWU)
Cased (Cased)
Full Composition Exclusion (Comp_Ex)
Default Ignorable Code Point (DI)
Dash (Dash)
Deprecated (Dep)
Diacritic (Dia)
Emoji Modifier Base (EBase)
Emoji Component (EComp)
Emoji Modifier (EMod)
Emoji Presentation (EPres)
Emoji (Emoji)
Extender (Ext)
Extended Pictographic (ExtPict)
FC NFKC Closure (FC_NFKC) Glyph for U+FEFF Zero Width No-Break Space
Grapheme Cluster Break (GCB) Control
Grapheme Base (Gr_Base)
Grapheme Extend (Gr_Ext)
Grapheme Link (Gr_Link)
Hex Digit (Hex)
Hyphen (Hyphen)
ID Continue (IDC)
ID Start (IDS)
IDS Binary Operator (IDSB)
IDS Trinary Operator and (IDST)
IDSU (IDSU) 0
ID_Compat_Math_Continue (ID_Compat_Math_Continue) 0
ID_Compat_Math_Start (ID_Compat_Math_Start) 0
Ideographic (Ideo)
InCB (InCB) None
Indic Mantra Category (InMC)
Indic Positional Category (InPC) NA
Indic Syllabic Category (InSC) Other
Jamo Short Name (JSN)
Join Control (Join_C)
Logical Order Exception (LOE)
Modifier Combining Mark (MCM)
Math (Math)
Noncharacter Code Point (NChar)
NFC Quick Check (NFC_QC) Yes
NFD Quick Check (NFD_QC) Yes
NFKC Quick Check (NFKC_QC) Yes
NFKD Quick Check (NFKD_QC) Yes
Other Alphabetic (OAlpha)
Other Default Ignorable Code Point (ODI)
Other Grapheme Extend (OGr_Ext)
Other ID Continue (OIDC)
Other ID Start (OIDS)
Other Lowercase (OLower)
Other Math (OMath)
Other Uppercase (OUpper)
Prepended Concatenation Mark (PCM)
Pattern Syntax (Pat_Syn)
Pattern White Space (Pat_WS)
Quotation Mark (QMark)
Regional Indicator (RI)
Radical (Radical)
Sentence Break (SB) Format
Soft Dotted (SD)
Sentence Terminal (STerm)
Terminal Punctuation (Term)
Unified Ideograph (UIdeo)
Variation Selector (VS)
Word Break (WB) Format
White Space (WSpace)
XID Continue (XIDC)
XID Start (XIDS)
Expands On NFC (XO_NFC)
Expands On NFD (XO_NFD)
Expands On NFKC (XO_NFKC)
Expands On NFKD (XO_NFKD)
Bidi Paired Bracket (bpb) Glyph for U+FEFF Zero Width No-Break Space
Bidi Paired Bracket Type (bpt) None
East Asian Width (ea) neutral
Hangul Syllable Type (hst) Not Applicable
ISO 10646 Comment (isc)
Joining Group (jg) No_Joining_Group
Joining Type (jt) Transparent
Line Break (lb) Word Joiner
Numeric Type (nt) none
Numeric Value (nv) not a number
Simple Case Folding (scf) Glyph for U+FEFF Zero Width No-Break Space
Script Extension (scx)
Vertical Orientation (vo) R