加密解密基础教程

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 

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号