16进制解码器解密(十六进制或者编码器解密)

16进制解码器解密(十六进制或者编码器解密)编解码 十六进制编解码中提到 编解码本质上是以不同的数据形式来展示 信息 可以用二进制来表示 可以用十六进制来表示 二进制的数据 在计算机中通常是不可读 不可打印 的 那有没有一种方式 可以让二进制的数据变成 可读可打印 的 方法有很多 最常见的是十六进制编解码和 Base64 编解码 十六进制编解码之前已介绍过 本文介绍 Base64 编解码 百度百科

大家好,我是讯享网,很高兴认识大家。



编解码:十六进制编解码中提到,编解码本质上是以不同的数据形式来展示“信息”,可以用二进制来表示,可以用十六进制来表示。

二进制的数据,在计算机中通常是不可读不可打印的。

那有没有一种方式,可以让二进制的数据变成“可读可打印”的?

方法有很多,最常见的是十六进制编解码和Base64编解码。

十六进制编解码之前已介绍过,本文介绍Base64编解码。

百度百科:Base64是一种基于64个可打印字符来表示二进制数据的方法。

Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现1或2个’=’(只可能出现0/1/2个等号,否则就是错误的)。

为啥只可能出现0/1/2个等号?动手算算就知道。


讯享网

将所有的bit位用8n表示(n表示待编码数据字节数量),则当:

Base64编解码前后空间大小变化:

6字节的数据,在编码后占用8字节空间;空间多占用了2B,比原来大:2B/6B=13
8字节的数据,在解码后占用6字节空间;空间少占用了2B,比原来小:2B/8B=14

Demo:

参照对照表(摘自:http://base64.xpcha.com/):

在线十六进制aes解密_在线十六进制aes解密

Base64结果:YWJj

Code:

编译 && 执行:

需要注意:

为啥在编码时需要指明待编码数据长度?

原因是待编码数据不一定可读,是二进制数据,即,可能存在0x00,很显然不可以用strlen,那我在编码函数中如何知道其待编码数据长度呢?不知道!所以,调用编码函数时需要显示地指明待编码数据长度。

小讯
上一篇 2025-05-06 07:11
下一篇 2025-05-14 08:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/206925.html