Unicode Tutorials - Herong's Tutorial Notes
Dr. Herong Yang, Version 5.00

UTF-32LE Encoding

This section provides a quick introduction of the UTF-32LE (Unicode Transformation Format - 32-bit Big Endian) encoding for Unicode character set.

UTF-32LE: A character encoding schema that maps code points of Unicode character set to a sequence of 4 bytes (32 bites). UTF-32LE stands for Unicode Transformation Format - 32-bit Little Endian.

Here is my understanding of the UTF-32LE specification. When UTF-32LE encoding is used to encode (serialize) Unicode characters into a byte stream for communication or storage, the code point of each character will be converted as a 32-bit integer into 4 bytes with the least significant byte first.

For example, these 3 Unicode characters, U+004D, U+0061 and U+10000 will be converted into 0x4D0000006100000000000100 when UTF-32LE is used.

When UTF-32LE encoding is used to decode (deserialize) a byte stream into Unicode characters, the entire stream will be divided into blocks of 4 bytes. Each block is converted to a 32-bit integer to represent a Unicode code point assuming the least significant byte first.

Note that the use of BOM (Byte Order Mark) is not part of the UTF-32LE specification. So you should:

  • Not prepend BOM sequence, 0xFFFE0000, to the output byte stream when encoding.
  • Not treat initial sequence of 0xFFFE0000 as BOM when decoding. If it exists, convert the initial 0xFFFE0000 sequence as a Unicode character, the ZERO WIDTH NO-BREAK SPACE, U+FEFF. character.

Sections in This Chapter

UTF-32 Encoding

UTF-32BE Encoding

UTF-32LE Encoding

Dr. Herong Yang, updated in 2009
UTF-32LE Encoding