编码规则
Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节
数组。以3个字节为一组。按顺序排列24 位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前
补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当所要编码的数据的字节数不是
3的整倍数,也就是说在分组时最后一组不够3个字节。这时在最后一组填充1到2个0字节。并在最后编码完成后在
结尾添加1到2个 “=”。
例:将对ABC进行BASE64编码:
1、首先取ABC对应的ASCII码值。A(65)B(66)C(67);
2、再取二进制值A(01000001)B(01000010)C(01000011);
3、然后把这三个字节的二进制码接起来(010000010100001001000011);
4、 再以6位为单位分成4个数据块,并在最高位填充两个0后形成4个字节的编码后的值,(00010000)(00010100
)(00001001)(00000011),其中蓝色部分为真实数据;
5、再把这四个字节数据转化成10进制数得(16)(20)(9)(3);
6、最后根据BASE64给出的64个基本字符表,查出对应的ASCII码字符(Q)(U)(J)(D),这里的值实际就是
数据在字符表中的索引。
注:BASE64字符表:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
字母表:(from RFC 3548)
Table 1: The Base 64 Alphabet
Value Encoding Value Encoding Value Encoding Value Encoding
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y
分享到:
相关推荐
### BASE64编码规则及其应用 #### 一、编码规则详解 BASE64编码是一种将任意二进制数据转换为可打印的ASCII字符序列的方法,主要用于处理非文本数据在网络传输中可能遇到的问题,如电子邮件系统中对二进制附件的...
Base64编码是一种在网络上传输和存储二进制数据时常用的数据编码方式,它将任意的二进制数据转换成可打印的ASCII字符序列。这种编码方式最初是为了解决邮件系统不能传输二进制数据的问题,现在广泛应用于各种场景,...
BASE64编码规则 及在java C# VB 中的代码实现
此外,虽然Base64编码使得数据变得不可读,但它并不提供安全性,因为编码规则是公开的,任何人都可以解码。因此,如果需要保密性,应配合其他加密手段使用。 总的来说,这个"base64编码解码离线工具"为用户提供了一...
在文件转换为Base64编码的过程中,首先会读取文件的二进制内容,然后按照Base64的规则进行转换。这个过程包括分组、编码和填充三个步骤: 1. **分组**:每个8位字节的二进制数据被分为3个一组,如果文件长度不是3的...
在跨语言(如Java和C#)进行对比时,只要遵循相同的编码规则,结果也应相同。 在实际应用中,BASE64编码常用于在网络上传输二进制数据,因为它可以确保数据在传输过程中不受字符集或编码格式的影响。同时,由于其...
2. 分割二进制数据:按照Base64编码规则,将图片数据分为多个6位组。 3. 转换为ASCII字符:每个6位组转换为一个对应的Base64字符。 4. 添加填充:如果最后一组不足6位,需要补零并添加相应的填充字符'='。 5. 结果...
2. 分组:根据Base64编码规则,将编码字符串分为4个字符一组。 3. 解码:将每个字符转换回6位的二进制数。 4. 拼接:将4个6位二进制数连接成一个24位的二进制数据块,如果原始数据有填充,这里会得到少于3字节的结果...
1. **预处理数据**:根据Base64的规则,每3个字节转换为4个Base64字符。如果原始数据不是3的倍数,需要在末尾添加0来补足到3的倍数。 2. **编码过程**:遍历每个3字节的数据块,将其转换为64进制。可以使用一个查找...
1. 手动实现:编写一个函数,遍历输入的字节流,按照Base64规则进行转换。每个6位数据对应一个Base64字符,不足6位的部分用0补足。对于最后可能产生的不足3字节的数据,根据实际字节数进行编码。 2. 使用标准库:...
将十六进制转换为BASE64,首先需要将十六进制字符串转换为二进制,然后再按照BASE64的规则进行编码。这个过程中,需要注意的是,十六进制字符串的长度可能不是3的倍数,因此可能需要在前面或后面添加0,使其长度符合...
在使用这些VI时,注意理解它们的输入和输出参数,以及任何可能的限制,例如字符串长度、编码规则等。此外,确保正确连接数据线,以避免数据丢失或错误。 **实际应用** Base64和Base32Hex编码在LabVIEW中有很多应用...
由于不依赖Canvas,它可能将这个矩阵转换为Base64字符串,这个过程可能涉及到位运算和Base64编码规则的实现。 总的来说,“weapp-qrcode-base64”插件提供了一种高效且便捷的在微信小程序中生成二维码的解决方案,...
VB6.0同样没有内置的Base64解码函数,但我们可以编写一个函数,根据Base64编码规则将字符串转换回字节数组。解码后的字节流可以直接写入到磁盘上的新JPG文件中。 在实际应用中,这样的转换功能可能会被用于网络上传...
编码过程是将输入的二进制数据或文本按照Base64的规则进行转换,生成可打印的字符串;解码则是相反的过程,将Base64编码的字符串还原为原始的二进制数据或文本。 在编码过程中,首先对输入的二进制数据进行分组,每...
通常,编码函数会接受二进制数据,然后按照Base64规则生成对应的ASCII字符串;解码函数则相反,它接收Base64字符串并返回原始二进制数据。这些源代码可以作为学习和理解Base64编码机制的实例。 3. **base_test.txt*...
base64编码规则的java实现.Provides encoding of raw bytes to base64-encoded characters, and decoding of base64 characters to raw bytes.
标注base64编码方式 Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 关于这个编码的规则...
4. **错误处理**:在编码和解码过程中,需要检查输入的有效性,如Base64字符串的格式是否正确,长度是否符合规则等,以防止出现异常。 `BASE64.exe`文件是一个已经编译好的可执行程序,很可能用于测试上述Base64类...
1. **编码规则**: - Base64 使用 US-ASCII 字符集中的 65 个字符:A-Z, a-z, 0-9, + 和 / 进行编码。 - 每个字符代表 6 位(即 64 种可能性),因此 3 个字节(24 位)的数据可以被编码成 4 个 Base64 字符。 2. ...