各编程语言中 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);