fix #16: add ByteUtil and its test cases