各编程语言中 Base64 编码解码的方法
java
//加
base64 = new BASE64Encoder().encode(str.getBytes());
//解
str = new String(new BASE64Decoder().decodeBuffer(base64));
JavaScript
//加
base64 = btoa(str); // IE 10- 需要引入 base64.js 且不支持汉字
//或
var s = CryptoJS.enc.Utf8.parse(str);
base64 = CryptoJS.enc.Base64.stringify(s); // 需要引入 CryptoJS
//解
str = atob(base64); // IE 10- 需要引入 base64.js 且不支持汉字
//或
var s = CryptoJS.enc.Base64.parse(base64);
str = s.toString(CryptoJS.enc.Utf8); // 需要引入 CryptoJS
Python
import base64
# 加
base64 = base64.b64encode(str)
# 解
str = base64.b64decode(base64)
PHP
//加
$base64 = base64_encode($str);
//解
$str = base64_decode($base64);
GO
//加
import b64 "encoding/base64"
...
base64 := b64.StdEncoding.EncodeToString([]byte(str))
//解
import b64 "encoding/base64"
...
str := b64.StdEncoding.DecodeString(base64)
Linux Shell
(以 test 为例)
# 加
$ echo test | base64 # dGVzdAo=
# 解
$ echo dGVzdAo= | base64 -d # test
MySQL/MariaDB
-- 加
SELECT TO_BASE64(str); -- 参数也可以是一个字段
-- 解
SELECT FROM_BASE64(base64); -- 参数也可以是一个字段
PostgreSQL
-- 加
SELECT encode(str, 'base64');
-- 解
SELECT decode(base64, '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);
Ruby
require "base64"
# 加
base64 = Base64.encode64(str)
# 解
str = Base64.decode64(base64)
Perl
use MIME::Base64;
# 加
$base64 = encode_base64($str);
# 解
$str = decode_base64($base64);