在Linux中,base64
是一种常用的编码/解码工具,用于将二进制数据转换为ASCII字符(编码)或反向操作(解码)。以下是其核心功能详解:
编码(Base64 Encoding)
将二进制文件或文本转换为由A-Z, a-z, 0-9, +, /
组成的ASCII字符串,确保数据在传输(如邮件、HTTP)中不被篡改,且兼容纯文本协议。
echo "Hello" | base64 # 输出: SGVsbG8K
base64 input.bin > encoded.txt
解码(Base64 Decoding)
将Base64字符串还原为原始二进制或文本数据。
echo "SGVsbG8K" | base64 --decode # 输出: Hello
base64 -d encoded.txt > output.bin
选项 | 作用 |
---|---|
-d 或 --decode |
解码模式 |
-i 或 --ignore-garbage |
忽略非Base64字符(如换行符) |
-w COLUMNS |
设置每行输出的字符数(默认76,-w 0 禁用换行) |
示例:
# 编码文件并禁用换行
base64 -w 0 image.png > encoded_image.txt
# 解码并忽略无效字符
base64 -di corrupted.txt > restored.bin
openssl enc
)。-w 0
禁用。bash
openssl enc -aes-256-cbc -in file.txt -pass pass:123 | base64 > encrypted.txt
bash
base64 -d encrypted.txt | openssl enc -d -aes-256-cbc -pass pass:123
通过man base64
可查看完整手册。Base64是Linux中处理数据兼容性的利器,但需根据场景合理使用。