Base64编码

来源:互联网 发布:系统盘垃圾清理软件 编辑:程序博客网 时间:2024/04/17 01:10

Base64是网络上最常见的用于传输8Bit的字节编码方式之一。

Base64,选出64个字符----小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"(再加上作为垫字的"=",实际上是65个字符),作为一个基本字符集。

其他所有符号都转换成这个字符集中的字符。


编号字符 编号字符 编号字符 编号字符0A16Q32g48w1B17R33h49x2C18S34i50y3D19T35j51z4E20U36k5205F21V37l5316G22W38m5427H23X39n5538I24Y40o5649J25Z41p57510K26a42q58611L27b43r59712M28c44s60813N29d45t61914O30e46u62+15P31f47v63/





















举例说明,base64原理:


文本S
kyASCII编码83107121二进制位010100110110101101111001索引20544557Base64编码U2t5








第一步,"S"、"K"、"Y"的ASCII值分别是83、107、121,对应的二进制值是01010011、01101011、01111001,依次排列成24位的二进制字符串。

第二步,将这个24位的二进制字符串分成4组,每组6个二进制位:010100、110110、101101、111001。

第三步,在每组前面加两个00,扩展成32个二进制位,即四个字节:00010100、00110110、00101101、00111001。它们的十进制值分别是20、54、45、57。

第四步,根据上表,得到每个值对应Base64编码,得U、2、t、5。


当字节数不足三时,处理如下图:
文本(1 Byte)A  二进制位01000001                二进制位(补0)010000010000            Base64编码QQ==文本(2 Byte)BC 二进制位0100001001000011  xxxxxx二进制位(补0)010000100100001100xxxxxxBase64编码QkM =









0 0
原创粉丝点击