Programming With Unicode
Subtitle: Documentation
Publisher: self-published
Published: 2011
Language: eng
Format: eBook
Number of pages: 63
Copyright date: 2010/09/25
Table of contents: title: 1 About this book 1; title: 1.1 License . . . . . . . . . . . .1; title: 1.2 Thanks to . . . . . . . . . . 1; title: 1.3 Notations . . . . . . . . . . 1; title: 2 Unicode nightmare 3; title: 3 Definitions 5; title: 3.1 Character . . . . . . . . . .  5; title: 3.2 Glyph . . . . . . . . . . . .    5; title: 3.3 Code point . . . . . . . . .  5; title: 3.4 Character set (charset) . 5; title: 3.5 Character string . . . . . . 5; title: 3.6 Byte string . . . . . . . . .  6; title: 3.7 UTF-8 encoded strings and UTF-16 character strings 6; title: 3.8 Encoding . . . . . . . . . . . 7; title: 3.9 Encode a character string . 7; title: 3.10 Decode a byte string . . .  7; title: 3.11 Mojibake . . . . . . . . . . . . 7; title: 3.12 Unicode: an Universal Character Set (UCS) 8; title: 4 Unicode 9; title: 4.1 Unicode Character Set . . .  9; title: 4.2 Categories . . . . . . . . . . .  9; title: 4.3 Statistics . . . . . . . . . . . .  9; title: 4.4 Normalization . . . . . . . . . 10; title: 5 Charsets and encodings 11; title: 5.1 Encodings . . . . . . . . . . . . 11; title: 5.2 Popularity . . . . . . . . . . . . 11; title: 5.3 Encodings performances . . 12; title: 5.4 Examples . . . . . . . . . . . . .12; title: 5.5 Handle undecodable bytes and unencodable characters 12; title: 5.6 Other charsets and encodings . 13; title: 6 Historical charsets and encodings 15; title: 6.1 ASCII . . . . . . . . . . . . . . . . . . 15; title: 6.2 ISO 8859 family . . . . . . . . . . .16; title: 6.3 CJK: asian encodings . . . . . . 18; title: 6.4 Cyrillic . . . . . . . . . . . . . . . .19; title: 7 Unicode encodings 21; title: 7.1 UTF-8 . . . . . . . . . . . . . . . .21; title: 7.2 UCS-2, UCS-4, UTF-16 and UTF-32 . 21; title: 7.3 UTF-7 . . . . . . . . . . . . . . . . . . . . 22; title: 7.4 Byte order marks (BOM) . . . . . . . 22; title: 7.5 UTF-16 surrogate pairs . . . . . . . . 22; title: 8 How to guess the encoding of a document? 25; title: 8.1 Is ASCII? . . . . . . . . . . . . . . . . . . . . 25; title: 8.2 Check for BOM markers . . . . . . . . . .25; title: 8.3 Is UTF-8? . . . . . . . . . . . . . . . . . . . 26; title: 8.4 Libraries . . . . . . . . . . . . . . . . . . .28; title: 9 Good practices 29; title: 9.1 Rules . . . . . . . . . . . . . . . . . .  29; title: 9.2 Unicode support levels . . . . . . 29; title: 9.3 Test the Unicode support of a program . . . .30; title: 9.4 Get the encoding of your inputs . . .30; title: 9.5 Switch from byte strings to character strings . 31; title: 10 Operating systems 33; title: 10.1 Windows . . . . . .33; title: 10.2 Mac OS X . . . . . 37; title: 10.3 Locales . . . . . . 37; title: 10.4 Filesystems (filenames) . . . .39; title: 11 Programming languages 41; title: 11.1 C language . . . . . . 41; title: 11.2 C++ . . . . . . . . . 43; title: 11.3 Python . . . . . . 43; title: 11.4 PHP . . . . . . . . . 47; title: 11.5 Perl . . . . . . . .  48; title: 11.6 Java . . . . . . . . 49; title: 11.7 Go and D . . . . .49; title: 12 Libraries 51; title: 12.1 Qt library . . . .   51; title: 12.2 The glib library . 52; title: 12.3 iconv library . . . 53; title: 12.4 ICU libraries . . . 53; title: 12.5 libunistring . . . .53; title: 13 Unicode issues 55; title: 13.1 Security vulnerabilities . . 55; title: 14 See also 57