各编程语言中 Base64 编码解码的方法 (其中 String str 表示原文本,String base64 表示编码结果)
| 语言 | Base64 编码 | Base64 解码 |
|---|---|---|
| JavaScript | base64 = btoa(str); // IE 10- 需要引入 base64.js 且不支持汉字 或 // 需要引入 CryptoJS var s = CryptoJS.enc.Utf8.parse(str); base64 = CryptoJS.enc.Base64.stringify(s); | str = atob(base64); // IE 10- 需要引入 base64.js 且不支持汉字 或 // 需要引入 CryptoJS var s = CryptoJS.enc.Base64.parse(base64); str = s.toString(CryptoJS.enc.Utf8); |
| Linux Shell (以 test 为例) | // dGVzdAo= $ echo test | base64 | // test$ echo dGVzdAo= | base64 -d |
| Java | base64 = new BASE64Encoder() .encode(str.getBytes()); | str = new String(new BASE64Decoder() .decodeBuffer(base64)); |
| Python | import base64 base64 = base64.b64encode(str) | import base64 str = base64.b64decode(base64) |
| 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); |
| 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'); |