Canonical hexadecimal starts with an explicit byte boundary
Base16 writes every byte as two hexadecimal characters. UTF-8 and hexadecimal source modes stay separate so text encoding never masquerades as raw-byte parsing.
The result uses uppercase A-F and requires no padding. The byte count records the exact source length before the two-to-one expansion.