BTW, they are not NUL characters, they’re the high bytes of a single UTF-16 character. It should really look like FEFF 003C 003F … You got away with it these, but there are a few actual Unicode characters used, which you’d miss. FRC takes care of it all.
Right, they are the high bytes, when interpreted as UTF-16. I’m fully aware of what little-endian means here. However, when the string is interpreted as ISO-8859-1 (which some earlier programs do, especially non-freelancer-specific resource viewers), they are NUL. I guess I didn’t make that clear in my first post, they are useful parts of the string when you read it correctly.
There are a total of 5 or 6 characters in the entirety of the vanilla xml resources that use the high bytes, mainly squiggly quotes and accented letters. The PHP scripts I wrote to dump the resources to a SQL database correctly handle real UTF-16LE, but I store it all internally as UTF-8 because it takes half the space for 99.999% of the data, is able to handle every character used in any resource I’ve ever seen, and uses a second byte only when needed.