Base64 编码/解码 字符编码: 解码过滤非 Base64 字符 Base64 编码 Base64 解码 ↕ 交换 说明 图片 转 Base64,请参考 图片转 Base64 Base64 转 图片,请参考 Base64 转图片 ASCII 码字符占 8 位二进制,而 Base64 占 6 位,取最小公倍数即为 24,即可以用 4 个 base64 字符去表示 3 个 ASCII 码字符。一个字节 8bit 存在 256 个状态,而一个 Base64 字符只有 64 个状态。 机智的人们于是规定,用每 4 个 Base64 字符去表示 3 个二进制字节,因为:64 * 64 * 64 * 64 = 256 * 256 * 256。 因为,Base64 将三个字节转化成四个字节,所以 Base64 编码后的文本长度,比原始文本长度多 4/3≈1.33 倍。 选出 64 个字符——大写字母 A-Z、小写字母 a-z、数字 0-9、符号 "+"、"/"(再加上作为垫字的 "=",实际上是 65 个字符,垫字是当生成的 Base64 字符串的个数不是 4 的倍数时,添加在尾部的字符),作为一个基本字符集。然后,其他所有符号都转换成这个字符集中的字符。 比如字符串 ABC,对应的二进制序列为 01000001 01000010 01000011,按 6 位分组后为 010000 010100 001001 000011,每个 6 位二进制前补 2 个 0 变成一个字节,最后是 00010000 00010100 00001001 00000011,根据编码表得到 Base64 字符串 QUJD。 Base64 编码表 码值 二进制 字符 0 000000 A 1 000001 B 2 000010 C 3 000011 D 4 000100 E 5 000101 F 6 000110 G 7 000111 H 8 001000 I 9 001001 J 10 001010 K 11 001011 L 12 001100 M 13 001101 N 14 001110 O 15 001111 P 16 010000 Q 17 010001 R 18 010010 S 19 010011 T 20 010100 U 21 010101 V 22 010110 W 23 010111 X 24 011000 Y 25 011001 Z 26 011010 a 27 011011 b 28 011100 c 29 011101 d 30 011110 e 31 011111 f 32 100000 g 33 100001 h 34 100010 i 35 100011 j 36 100100 k 37 100101 i 38 100110 m 39 100111 n 40 101000 o 41 101001 p 42 101010 q 43 101011 r 44 101100 s 45 101101 t 46 101110 u 47 101111 v 48 110000 w 49 110001 x 50 110010 y 51 110011 z 52 110100 0 53 110101 1 54 110110 2 55 110111 3 56 111000 4 57 111001 5 58 111010 6 59 111011 7 60 111100 8 61 111101 9 62 111110 + 63 111111 / 0 条用户评论 0 / 300 发表评论 当前仅支持登录用户评论,去登录