Base64 在线编解码工具

0 字符
0 字符
解码完毕,原文本字符数: 0, 解码后字符数: 0

什么是 Base64 编码?

Base64 是一种基于 64 个可打印字符来表示二进制数据的编码方式。这 64 个字符包括 26 个大写字母、26 个小写字母、10 个数字以及两个符号(通常是"+"和"/"),外加用于补位的"="符号。

Base64 规范

Base64 编码主要有以下几种规范:

  • 标准 Base64:使用 A-Z, a-z, 0-9, +, / 字符集,以 = 作为填充。在 RFC 4648 中定义。
  • URL 安全 Base64:使用 A-Z, a-z, 0-9, -, _ 字符集,替换了标准版本中的 + 和 /,使其可以安全地用于 URL。
  • MIME Base64:在 RFC 2045 中定义,每行最多 76 个字符,并使用 CRLF 作为换行符。

Base64 字符集

索引 字符 索引 字符 索引 字符 索引 字符
0A 16Q 32g 48w
1B 17R 33h 49x
2C 18S 34i 50y
3D 19T 35j 51z
4E 20U 36k 520
5F 21V 37l 531
6G 22W 38m 542
7H 23X 39n 553
8I 24Y 40o 564
9J 25Z 41p 575
10K 26a 42q 586
11L 27b 43r 597
12M 28c 44s 608
13N 29d 45t 619
14O 30e 46u 62+
15P 31f 47v 63/

不同编程语言的 Base64 API 示例

JavaScript

// 编码
const encoded = btoa('Hello, World!');
console.log(encoded);  // SGVsbG8sIFdvcmxkIQ==

// 解码
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded);  // Hello, World!

Python

import base64

# 编码
text = "Hello, World!"
encoded = base64.b64encode(text.encode('utf-8'))
print(encoded.decode('utf-8'))  # SGVsbG8sIFdvcmxkIQ==

# 解码
decoded = base64.b64decode('SGVsbG8sIFdvcmxkIQ==')
print(decoded.decode('utf-8'))  # Hello, World!

Java

import java.util.Base64;

// 编码
String text = "Hello, World!";
String encoded = Base64.getEncoder().encodeToString(text.getBytes());
System.out.println(encoded);  // SGVsbG8sIFdvcmxkIQ==

// 解码
byte[] decoded = Base64.getDecoder().decode("SGVsbG8sIFdvcmxkIQ==");
System.out.println(new String(decoded));  // Hello, World!

PHP

// 编码
$text = "Hello, World!";
$encoded = base64_encode($text);
echo $encoded;  // SGVsbG8sIFdvcmxkIQ==

// 解码
$decoded = base64_decode("SGVsbG8sIFdvcmxkIQ==");
echo $decoded;  // Hello, World!

C#

using System;
using System.Text;

// 编码
string text = "Hello, World!";
string encoded = Convert.ToBase64String(Encoding.UTF8.GetBytes(text));
Console.WriteLine(encoded);  // SGVsbG8sIFdvcmxkIQ==

// 解码
byte[] data = Convert.FromBase64String("SGVsbG8sIFdvcmxkIQ==");
string decoded = Encoding.UTF8.GetString(data);
Console.WriteLine(decoded);  // Hello, World!

Go

package main

import (
	"encoding/base64"
	"fmt"
)

func main() {
	// 编码
	text := "Hello, World!"
	encoded := base64.StdEncoding.EncodeToString([]byte(text))
	fmt.Println(encoded)  // SGVsbG8sIFdvcmxkIQ==

	// 解码
	decoded, err := base64.StdEncoding.DecodeString("SGVsbG8sIFdvcmxkIQ==")
	if err != nil {
		fmt.Println("解码错误:", err)
		return
	}
	fmt.Println(string(decoded))  // Hello, World!
}

专业的人用专业的

汽配快车道CRM

专为做外贸的汽配人定制

快速报价:100个OE号秒报(生成报价单)
客户管理:集邮件、whatsapp、报价、订单于一体
历史报价:同一客户、不同客户报价一键查看