在 Windows、Linux 和 Mac 上对 Base64 进行编码和解码

当您急需将文件编码为 base64 时

目录

以下是有关如何在 Windows、Linux 和 Mac 上 将文件编码和解码为 Base64 的示例。

胡须男子在夜晚进行一些高级编码

在 Windows 上将文件转换为 Base64

要在 Windows 上将普通文件转换为 Base64,可以使用以下方法:

使用命令提示符和 Certutil

  1. 打开命令提示符。

  2. 运行以下命令:

    certutil -encode  
    

    替换为文件的路径,将 替换为所需的输出文件名(例如 encoded.b64)。

  3. 要在不保存到临时文件的情况下直接在屏幕上显示 Base64 内容:

    certutil -encode  tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64
    

    通过在处理后删除 tmp.b64,可以避免留下临时文件。


使用 PowerShell

  1. 打开 PowerShell。
  2. 运行以下命令:
    [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]

编码文件的步骤

  1. 打开终端。

  2. 运行以下命令:

    base64 input_file > output_file
    

    input_file 替换为文件的路径,将 output_file 替换为您希望保存 Base64 编码内容的文件名。

    示例:

    base64 myfile.txt > encoded.txt
    
  3. 如果您希望直接在终端中显示编码内容:

    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 命令。以下是操作方法:

编码文件的步骤

  1. 打开终端。

  2. 运行以下命令:

    base64 -i input_file > output_file
    

    input_file 替换为文件的路径,将 output_file 替换为您希望保存 Base64 编码内容的文件名。

    示例:

    base64 -i myfile.txt > encoded.txt
    
  3. 如果您希望直接在终端中显示 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 尝试从编码流中的其他非字母字节中恢复。
...

有用的链接