XMP Specification September 2005 35 XMP Storage Model XMP Packet Wrapper 3 ● 32-bit encoding (UCS-4): the pattern is similar to the UCS-2 pattern above, except with three 0x00 bytes for every one in the UCS-2 version. For 16-bit and 32-bit encodings, a scanner cannot be sure whether the 0x00 values are in the high- or low-order portion of the character until it reads the byte-order mark (the value of the begin attribute). As you can see from the pattern, it starts with the first non-zero value, regardless of byte order, which means that there might or might not be a terminal 0x00 value. A scanner can choose to simply skip 0x00 values and search for the 8-bit pattern. Once the byte order is established, the scanner should switch to consuming characters rather than bytes. After finding a matching byte pattern, the scanner must consume a quote character, which can be either the single quote (apostrophe) (U+0027) or double quote (U+0022) character. NOTE: Individual attribute values in the processing instruction can have either single or double quotes. The following header is well-formed: ?xpacket begin="■" id='W5M0MpCehiHzreSzNTczkc9d'? The scanner is now ready to read the value of the begin attribute, followed by the closing quote character: UTF-8: 0xEF 0xBB 0xBF UTF-16, big-endian: 0xFE 0xFF UTF-16, little-endian: 0xFF 0xFE UTF-32, big-endian: 0x00 0x00 0xFE 0xFF UTF-32, little-endian: 0xFF 0xFE 0x00 0x00 NOTE: If the attribute has no value, the encoding is UTF-8. The scanner now has enough information to process the rest of the header in the appropriate character encoding.
Purchased from Demo (abedemo.tizrapublisher.com) for the exclusive use of unknown. © 2025 Demo. Please report unauthorized use to pirate@tizra.com