Byte decoding and preserved text
Diagnose replacement, boundary and normalisation losses before accepting text records.
Why does an imported name contain a replacement character?
Reject malformed source bytes before a permissive decoder creates apparently usable text.
Why do an AB export’s bytes become different characters?
Use the declared UTF-16 byte order and hold a contradictory or incomplete representation.
Why does splitting a valid export damage its Chinese character?
Keep one streaming decoder across chunks and finish it explicitly.
Why does a Chinese field shift the next fixed-width value?
Apply byte-defined field boundaries before decoding each field.
Why does a shortened label end with half an emoji?
Apply the supplied code-point limit without splitting a surrogate pair.
Why did a transferred label become a question mark?
Hold source text outside the explicitly declared destination repertoire.
Why did NFC matching collapse two imported label spellings?
Compare canonical forms while retaining originals and holding distinct-spelling collisions.
Why did a newline cleanup change an imported memo?
Convert the output record separator while preserving newlines inside the field.