Base16编码和解码

Base16 编码使用 16 个 ASCII 可打印字符(数字 0-9 和字母 A-F)对任意字节数据进行编码。

Base16 先获取输入字符串每个字节的二进制值(不足 8 比特在高位补 0),然后将其串联进来,再按照 4 比特一组进行切分,将每组二进制数分别转换成十进制,在下述表格中找到对应的编码串接起来就是 Base16 编码。如下图:

注意:8 比特数据按照 4 比特切分刚好是两组,所以 Base16 不可能用到填充符号“=”。

Base16 编码后的数据量是原数据的两倍:1000 比特数据需要 250 个字符(即 250*8=2000 比特)。换句话说:Base16 使用两个 ASCII 字符去编码原数据中的一个字节数据。

Base16 编码是一个标准的十六进制字符串(注意是字符串而不是数值),更易被人类和计算机使用,因为它并不包含任何控制字符,以及 Base64 和 Base32 中的“=”符号。

实例

以大写的“ILU”为例,下面表格分别列出每个字母的 ASCII 编码,ASCII 编码对应的二进制字符串和切分成 4 位的二进制对应的十进制,然后根据 Base16 编码表找到对应的值。如下图:

查看 Base64 类的详细用法,请参考官网 API 文档,地址如下:

http://commons.apache.org/proper/commons-codec/apidocs/index.html 

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号