Linux好用命令之base64命令

base64 命令用于对文件或者标准输入进行编码和解码。

1,用法

$ base64 --help
用法:base64 [选项]... [文件]
使用 Base64 编码/解码文件或标准输入输出。

如果没有指定文件,或者文件为"-",则从标准输入读取。

必选参数对长短选项同时适用。
  -d, --decode          解码数据
  -i, --ignore-garbag   解码时忽略非字母字符
  -w, --wrap=字符数     在指定的字符数后自动换行(默认为76),0 为禁用自动换行

      --help            显示此帮助信息并退出
      --version         显示版本信息并退出

数据以 RFC 4648 规定的 base64 字母格式进行编码。
解码时,输入数据(编码流)可能包含一些非有效 base64 字符的换行符。
可以尝试用 --ignore-garbage 选项来绕过编码流中的无效字符。

GNU coreutils 在线帮助:<https://www.gnu.org/software/coreutils/>
请向 <http://translationproject.org/team/zh_CN.html> 报告 base64 的翻译错误
完整文档请见:<https://www.gnu.org/software/coreutils/base64>
或者在本地使用:info '(coreutils) base64 invocation'

2,实践

1,编码

  • 直接执行

    $ echo 'hello' | base64
    aGVsbG8K
    
  • 基于文件

    $ echo 'hello' > test.txt && base64 test.txt
    aGVsbG8K
    
  • 记得用-w参数

    有时候内容可能比较长,那么默认的换行结果会多一个换行符,可以用如下方式:

    $ curl https://wiki.eryajf.net | base64 -w 0
    ...内容略...

2,解码

  • 直接执行

    $ echo 'aGVsbG8K' | base64 -d
    hello
    
  • 基于文件

    $ echo 'aGVsbG8K' > test.txt && base64 -d test.txt
    hello
### 如何使用 `base64` 命令进行编码和解码 #### 使用 `base64` 进行编码 在 Linux 系统中,可以通过 `base64` 命令对字符串或文件的内容进行 Base64 编码。如果要对一个字符串进行编码,可以直接通过管道传递给 `base64` 命令: ```bash echo -n 'Hello, World!' | base64 ``` 上述命令会将字符串 `'Hello, World!'` 转换为其对应的 Base64 表示形式[^1]。 对于文件的编码操作,只需提供文件名作为参数即可: ```bash base64 filename.txt ``` 这将会读取 `filename.txt` 的内容并将其转换为 Base64 编码后的输出[^3]。 --- #### 使用 `base64` 进行解码 为了实现 Base64 数据的反向处理(即解码),可以使用 `-d` 或 `--decode` 参数。例如,假设有一个经过 Base64 编码的字符串 `'SGVsbG8sIFdvcmxkIQ=='`,可以通过以下方式对其进行解码: ```bash echo 'SGVsbG8sIFdvcmxkIQ==' | base64 --decode ``` 这条命令的结果将是原始字符串 `'Hello, World!'`[^2]。 同样地,如果需要解码整个文件中的 Base64 数据,则可执行如下命令: ```bash base64 -d encoded_file.txt ``` 这里假定 `encoded_file.txt` 是包含已编码数据的文件。 --- #### 其他常用选项 除了基本的编码与解码功能外,`base64` 命令还支持一些额外的功能配置: - **自动换行控制**:默认情况下,每 76 字符会被强制换行一次;可通过 `--wrap=COLS` 修改该行为或者设置为 `0` 来关闭自动换行。 示例: ```bash echo -n 'HelloWorld' | base64 --wrap=0 ``` - **忽略垃圾字符**:当输入流可能含有非有效 Base64 符号时,启用 `--ignore-garbage` 可跳过这些错误部分继续尝试解析合法片段。 示例: ```bash echo '!@#$%HelloWorld^&*' | base64 --decode --ignore-garbage ``` 需要注意的是,尽管 Base64 提供了一种简单的方式用于表示二进制数据为 ASCII 文本格式,但它并不具备安全性保障,不应依赖其保护隐私信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值