在 Windows、Linux 和 Mac 上对 Base64 进行编码和解码
当您急需将文件编码为 base64 时
以下是有关如何在 Windows、Linux 和 Mac 上 将文件编码和解码为 Base64 的示例。
在 Windows 上将文件转换为 Base64
要在 Windows 上将普通文件转换为 Base64,可以使用以下方法:
使用命令提示符和 Certutil
-
打开命令提示符。
-
运行以下命令:
certutil -encode
将
替换为文件的路径,将
替换为所需的输出文件名(例如encoded.b64
)。 -
要在不保存到临时文件的情况下直接在屏幕上显示 Base64 内容:
certutil -encode tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64
通过在处理后删除
tmp.b64
,可以避免留下临时文件。
使用 PowerShell
- 打开 PowerShell。
- 运行以下命令:
将
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("your_file_path"))
"your_file_path"
替换为文件的完整路径。这将在控制台中直接输出 Base64 字符串。
使用自定义脚本
如果您需要更多灵活性,可以使用类似 ConvertTo-Base64.ps1
的脚本。它允许将文件编码为 Base64,并且可以选择将输出保存到文件或格式化为 JSON。
这些方法可以在不安装额外 软件 的情况下快速且高效地进行 Base64 编码。
在 Linux 上将文件转换为 Base64
要在 Linux 上将二进制文件转换为 Base64,可以使用 base64
命令,该命令通常预装在大多数 Linux 发行版中。与 Windows 相比,这要好得多!:)
以下是操作方法:
基本语法
base64 [OPTIONS] [FILE]
编码文件的步骤
-
打开终端。
-
运行以下命令:
base64 input_file > output_file
将
input_file
替换为文件的路径,将output_file
替换为您希望保存 Base64 编码内容的文件名。示例:
base64 myfile.txt > encoded.txt
-
如果您希望直接在终端中显示编码内容:
base64 input_file
可选标志
-w
: 在指定字符数后换行(默认为 76)。使用-w 0
可禁用换行。 示例:base64 -w 0 input_file > output_file
解码 Base64 文件
要将 Base64 编码的文件解码回其原始格式:
base64 --decode encoded_file > decoded_file
此方法高效,且在大多数 Linux 发行版上无需额外安装即可使用。
在 Mac 上编码/解码 Base64
这与 Linux 非常接近,但略有不同。
要在 macOS 上将普通文件转换为 Base64,可以使用内置的 base64
命令。以下是操作方法:
编码文件的步骤
-
打开终端。
-
运行以下命令:
base64 -i input_file > output_file
将
input_file
替换为文件的路径,将output_file
替换为您希望保存 Base64 编码内容的文件名。示例:
base64 -i myfile.txt > encoded.txt
-
如果您希望直接在终端中显示 Base64 编码内容:
base64 -i input_file
可选剪贴板集成
您可以使用以下命令将文件编码并直接复制到剪贴板:
base64 -i input_file | pbcopy
解码 Base64 文件
要将 Base64 编码的文件解码回其原始格式:
base64 -D -i encoded_file > decoded_file
这些命令在所有现代 macOS 版本(从 10.7 开始)上都有效。
base64 工具的完整命令行参数列表
$ base64 --help
用法:base64 [OPTION]... [FILE]
将 FILE 或标准输入 Base64 编码或解码为标准输出。
如果没有 FILE,或 FILE 是 -,则读取标准输入。
长选项的强制参数对于短选项也是强制的。
-d, --decode 解码数据
-i, --ignore-garbage 解码时忽略非字母字符
-w, --wrap=COLS 在 COLS 字符后换行编码行(默认为 76)。
使用 0 禁用换行
--help 显示此帮助并退出
--version 输出版本信息并退出
数据按照 RFC 4648 中描述的 base64 字母表进行编码。
解码时,输入可以包含除 base64 字母表字节外的新行。使用 --ignore-garbage 尝试从编码流中的其他非字母字节中恢复。
...