But there's certainly a reasonably well accepted way to represent, say, a 16 bit unsigned integer, right?
Certainly.
16 bit unsigned integer representation:
Use %2c to encode and %2c to decode. If you try to encode a value that can not be represented as a 16 bit unsigned integer, you'll get a truncated value.
16 bit signed integer representation:
Use %2c to encode and %+2c to decode. If you try to encode a value that can not be represented as a 16 bit signed integer, you'll get a truncated value.