totools.siteBase64 在线编码解码工具(totools 最好用的在线工具集合)
- 编码解码
- 加密解密
- 哈希算法
- 代码格式化
- 语言处理
- URLEncode
- Base64
Base64 编码或解码的结果:
也可以选择图片文件来获取它的 Base64 编码的 DataURI 形式:
日志记录:
设置(为了使浏览器能够记住设置,请开启 Cookie)
什么是base64
Base64编码实现原理,将待编码数据转换成二进制数据,其中6bit为一个编码单元,故该6bit能编码的容量为2**6=64,这也是base64名称来由。
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码在应用层数据传输应用广泛。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。同时Base64编码广泛用于加密解密领域,由于加密都是对二进制数据进行操作,所以加密结果往往都是二进制数据,无法被直视,当不做任何编码处理,加密结果呈现在我们眼前的都是一团乱码,Base64编码刚好能很好的解决这个问题。
以编码"Man"为例
文本 | M | a | n |
---|
ASCII编码 | 77 | 97 | 110 |
---|
二进制位 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
---|
索引 | 19 | 22 | 5 | 46 |
---|
Base64编码 | T | W | F | u |
---|
Base64索引表:
数值 | 字符 | | 数值 | 字符 | | 数值 | 字符 | | 数值 | 字符 |
---|
0 | A | 16 | Q | 32 | g | 48 | w |
1 | B | 17 | R | 33 | h | 49 | x |
2 | C | 18 | S | 34 | i | 50 | y |
3 | D | 19 | T | 35 | j | 51 | z |
4 | E | 20 | U | 36 | k | 52 | 0 |
5 | F | 21 | V | 37 | l | 53 | 1 |
6 | G | 22 | W | 38 | m | 54 | 2 |
7 | H | 23 | X | 39 | n | 55 | 3 |
8 | I | 24 | Y | 40 | o | 56 | 4 |
9 | J | 25 | Z | 41 | p | 57 | 5 |
10 | K | 26 | a | 42 | q | 58 | 6 |
11 | L | 27 | b | 43 | r | 59 | 7 |
12 | M | 28 | c | 44 | s | 60 | 8 |
13 | N | 29 | d | 45 | t | 61 | 9 |
14 | O | 30 | e | 46 | u | 62 | + |
15 | P | 31 | f | 47 | v | 63 | / |
语言 |
Base64 编码 |
Base64 解码 |
Java |
base64 = new BASE64Encoder().encode(str.getBytes()); |
str = new String(new BASE64Decoder().decodeBuffer(base64)); |
JavaScript |
base64 = btoa(str);
或
var s = CryptoJS.enc.Utf8.parse(str); base64 = CryptoJS.enc.Base64.stringify(s);
|
str = atob(base64);
或
var s = CryptoJS.enc.Base64.parse(base64);
str = s.toString(CryptoJS.enc.Utf8);
|
PHP |
$base64 = base64_encode($str); |
$str = base64_decode($base64); |
C#/.NET |
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str); base64 = System.Convert.ToBase64String(bytes); |
byte[] bytes = System.Convert.FromBase64String(base64); str = System.Text.Encoding.UTF8.GetString(bytes); |
Python |
import base64 base64 = base64.b64encode(str) |
import base64 str = base64.b64decode(base64) |
Perl |
use MIME::Base64; $base64 = encode_base64($str); |
use MIME::Base64; $str = decode_base64($base64); |
Golang |
import b64 "encoding/base64" ... base64 := b64.StdEncoding.EncodeToString([]byte(str)) |
import b64 "encoding/base64" ... str := b64.StdEncoding.DecodeString(base64) |
Ruby |
require "base64" base64 = Base64.encode64(str) |
require "base64" str = Base64.decode64(base64) |
MySQL/MariaDB |
SELECT TO_BASE64(str); |
SELECT FROM_BASE64(base64); |
PostgreSQL |
SELECT encode(str, 'base64'); |
SELECT decode(base64, 'base64'); |
Linux Shell (以 test 为例) |
$ echo test | base64 |
$ echo dGVzdAo= | base64 -d |