move UnsignedCharVariant to its own file
usage UnsignedCharVariant for KMP adaption
fix compilation for 32 bit environments