Base编码规则

Base编码规则主要包括Base16、Base32和Base64等几种不同的编码方式,它们各自有特定的编码规则。
Base16,也被称为HEX(十六进制),使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码。编码时,先获取输入字符串每个字节的二进制值(不足8比特则在高位补然后将其串联起来,再按照4比特一组进行0),切分,将每组二进制数分别转换成十进制。当要编码的数据少于40位时,会在右侧填充二进制0值。
Base32用于将二进制数据转换为可打印字符序列。它使用32个不同的字符来表示数据,因此编码后的结果比Base64更长。编码时,会将每组40位的数据划分为8个5位的片段,然后将每个5位的片段转换为对应的Base32字符,如果需要,还会在最后加上填充字符“="。
Base64是一种基于64个可打印字符(0 ~ 9; A ~ Z; a ~ z; '+';'/')来表示二进制数据的编码方法。它通常用于在不支持二进制数据的环境中传输数据,例如在电子邮件中传输附件或在网页中嵌入图片等。Base64编码规则如下:

编码字符集:Base64编码使用64个字符来表示任意二进制数据。这些字符包括大写字母A-Z、小写字母a-z、数字0-9,以及两个特殊字符“+”和“/”。在URL中传输时,通常会将“+”替换为“-”,将“/”替换为“_”,以避免URL中的特殊字符问题。

编码过程

  • 首先,将待编码的二进制数据每3个字节分为一组,每组共24位。
    • 然后,将这24位分为4组,每组6位。
    • 接着,将每组6位转换为一个十进制数,这个数的范围是0到63。
    • 最后,将每个十进制数转换为Base64字符集中的对应字符。

填充字符:如果原始数据的字节数不是3的倍数,那么在编码的最后会添加一个或两个填充字符“=”。如果原始数据的字节数比24位少,那么在编码的最后会添加一个或两个“=”来表示缺少的字节。

解码过程:解码过程是编码过程的逆过程。首先,将Base64编码的字符串每4个字符分为一组,每组对应6位。然后,将这6位转换回原始的二进制数据。

Base64编码广泛应用于各种编程语言和网络协议中,是一种非常实用的编码方式。

posted @   头像被封了  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 【.NET】调用本地 Deepseek 模型
点击右上角即可分享
微信分享提示