Skip to Content
Unicode Explained
book

Unicode Explained

by Jukka K. Korpela
June 2006
Beginner
688 pages
26h 18m
English
O'Reilly Media, Inc.
Content preview from Unicode Explained
most common situation for its presence is that data has been converted from UTF-16
or UTF-32 without removing BOM. (In UTF-8, BOM is the octet sequence EF BB BF.)
The BOM is to be treated as indicating the byte order only, not as part of the data.
Previously, code point U+FEFF was defined to have the meaning of a zero width no-
break space (ZWNBSP), too, and it could appear in the middle of text, too. This usually
did not cause problems, but such usage has now been deprecated. In theory, when you
detect U+FEFF at the start of UTF-8 data, you cannot know for sure whether it is meant
to be a byte order mark or just a no-break space as part of the data proper. In practice,
this seldom makes a difference, since an initial no-break space doesn’t really matter.
However, if you concatenate files, for example, it might matter.
If U+FEFF is encountered within text, it should be treated as ZWNBSP, which acts as
invisible “glue” that prevents a line break between characters. However, you should
not use it that way in new data; the recommended “glue” character is word joiner
U+2060. Unicode implementations are allowed to convert U+FEFF (inside data) to
U+2060.
There is no way in Unicode to change the byte order within a file. If U+FEFF appears
anywhere else except at the start of character data, it must be interpreted according to
the no-break space semantics (or not be interpreted at all).
Due to the stability ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Unicode Demystified

Unicode Demystified

Richard Gillam
Fonts & Encodings

Fonts & Encodings

Yannis Haralambous
The Java® Language Specification, Java SE 8 Edition

The Java® Language Specification, Java SE 8 Edition

James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha, Alex Buckley

Publisher Resources

ISBN: 059610121XCatalog PageErrata