Base64 转换器

一个多功能工具,可将文本或文件编码为Base64,并将Base64字符串解码回文本或文件。

将文本或文件编码为Base64

什么是 Base64?

Base64 是一种将二进制数据表示为ASCII字符串格式的编码方案,它通过将数据转换为基数为64的表示形式来实现。它通常用于编码需要通过设计为处理文本的媒介进行存储和传输的数据。这确保了数据在传输过程中保持完整,不会被修改。

Base64 使用的字符集包含64个字符:26个大写字母(A-Z)、26个小写字母(a-z)、10个数字(0-9)以及两个额外的字符,通常是“+”和“/”。如果需要,还会在编码数据的末尾使用填充字符“=”。

Base64 编码如何工作

  1. 1. 输入数据(例如文本)首先被转换为字节序列。
  2. 2. 这些字节随后被分组为24位(3字节)的块。
  3. 3. 每个24位的块被分成四个6位的组。
  4. 4. 每个6位的组被映射到Base64字符集中的64个字符之一。该字符成为输出字符串的一部分。
  5. 5. 如果最后一个字节块少于24位,则在输出字符串的末尾添加填充符(`=`),以确保其长度是4的倍数。

Base64 的常见用途

  • 电子邮件附件:编码二进制文件(如图像或文档)以便嵌入到电子邮件正文中。
  • 数据URI:使用 `data:` 协议将图像或其他文件直接嵌入到HTML或CSS文件中,从而减少HTTP请求的数量。
  • 基本HTTP认证:为 `Authorization` 标头编码用户名和密码。
  • 存储二进制数据:在不支持原始二进制的基于文本的格式(如XML或JSON)中存储二进制数据。

不同编程语言中的Base64

以下是如何在各种流行语言中执行Base64编码和解码:

JavaScript

编码:

btoa("your string");

解码:

atob("eW91ciBzdHJpbmc=");

Python

编码:

import base64
base64.b64encode(b'your string')

解码:

import base64
base64.b64decode(b'eW91ciBzdHJpbmc=')

Java

编码:

import java.util.Base64;
String encodedString = Base64.getEncoder().encodeToString("your string".getBytes());

解码:

import java.util.Base64;
byte[] decodedBytes = Base64.getDecoder().decode("eW91ciBzdHJpbmc=");
String decodedString = new String(decodedBytes);

PHP

编码:

base64_encode('your string');

解码:

base64_decode('eW91ciBzdHJpbmc=');

C#

编码:

var plainTextBytes = System.Text.Encoding.UTF8.GetBytes("your string");
string encodedString = System.Convert.ToBase64String(plainTextBytes);

解码:

var base64EncodedBytes = System.Convert.FromBase64String("eW91ciBzdHJpbmc=");
string decodedString = System.Text.Encoding.UTF8.GetString(base64EncodedBytes);