as it turns out, encode(2) inaccurately describes the code. dec64, enc64, dec16 and enc16 truncate rather than returning errors.
does anybody have any reasons why truncated encodings should be allowed? i think this only allows for interesting attacks based on truncated encodings, rather than being useful. but i could be wrong. i'm currently testing these changes (there are a few calls to enc/dec64 that need correcting). - erik