国际访客建议访问 Primers 编程伙伴 国际版站点 > Bash 教程 > basenc 以获得更好的体验。

# Bash 的 basenc 命令

basenc [OPTION]... [FILE]...

!subtitle:功能

对数据进行编码或解码。

!subtitle:类型

可执行文件(/usr/bin/basenc),属于 coreutils

!subtitle:参数

  • OPTION 选项:

    • --base64 - BASE64 编解码,同 base64 命令

    • --base64url - URL 安全的 BASE64 编解码

    • --base32 - BASE32 编解码,同 base32 命令

    • --base32hex - 扩展十六进制字母 BASE32 编码

    • --base16 - 十六进制编码

    • --base2msbf - 高位优先二进制编码

    • --base2lsbf - 低位优先二进制编码

    • -d, --decode - 解码;不带此选项则为编码

    • -i, --ignore-garbage - 解码时忽略无效字符

    • -w, --wrap=COLS - 编码输出时一行的字符数;默认为 76,设为 0 则不换行

    • --z85 - 使用类 ASCII85 编码;编码时输入必须是 4 的倍数,解码时输入必须是 5 的倍数

    • --help - 显示帮助

    • --version - 显示版本

  • FILE - 文件列表

# 示例

$ man basenc > 1.txt
$ cat 1.txt
BASENC(1)                        User Commands                       BASENC(1)

NAME
       basenc - Encode/decode data and print to standard output

SYNOPSIS
       basenc [OPTION]... [FILE]
...
$ basenc --base16 1.txt > 2.txt     # 编码
$ cat 2.txt
424153454E432831292020202020202020202020202020202020202020202020205573657220
436F6D6D616E64732020202020202020202020202020202020202020202020424153454E4328
31290A0A4E414D450A20202020202020626173656E63202D20456E636F64652F6465636F6465
206461746120616E64207072696E7420746F207374616E64617264206F75747075740A0A5359
...
$ basenc --base16 -d 2.txt          # 解码
BASENC(1)                        User Commands                       BASENC(1)

NAME
       basenc - Encode/decode data and print to standard output

SYNOPSIS
       basenc [OPTION]... [FILE]
...

# 相关命令

命令 说明
base32 进行 BASE32 编码或解码
base64 进行 BASE64 编码或解码

# 推荐阅读

# 手册

BASENC(1)                        User Commands                       BASENC(1)

NAME
       basenc - Encode/decode data and print to standard output

SYNOPSIS
       basenc [OPTION]... [FILE]

DESCRIPTION
       basenc encode or decode FILE, or standard input, to standard output.

       With no FILE, or when FILE is -, read standard input.

       Mandatory  arguments  to  long  options are mandatory for short options
       too.

       --base64
              same as 'base64' program (RFC4648 section 4)

       --base64url
              file- and url-safe base64 (RFC4648 section 5)

       --base32
              same as 'base32' program (RFC4648 section 6)

       --base32hex
              extended hex alphabet base32 (RFC4648 section 7)

       --base16
              hex encoding (RFC4648 section 8)

       --base2msbf
              bit string with most significant bit (msb) first

       --base2lsbf
              bit string with least significant bit (lsb) first

       -d, --decode
              decode data

       -i, --ignore-garbage
              when decoding, ignore non-alphabet characters

       -w, --wrap=COLS
              wrap encoded lines after COLS character (default 76).  Use 0  to
              disable line wrapping

       --z85  ascii85-like encoding (ZeroMQ spec:32/Z85); when encoding, input
              length must be a multiple of 4; when decoding, input length must
              be a multiple of 5

       --help display this help and exit

       --version
              output version information and exit

       When  decoding, the input may contain newlines in addition to the bytes
       of the formal alphabet.  Use --ignore-garbage  to  attempt  to  recover
       from any other non-alphabet bytes in the encoded stream.

ENCODING EXAMPLES
              $ printf '\376\117\202' | basenc --base64
              /k+C

              $ printf '\376\117\202' | basenc --base64url
              _k-C

              $ printf '\376\117\202' | basenc --base32
              7ZHYE===

              $ printf '\376\117\202' | basenc --base32hex
              VP7O4===

              $ printf '\376\117\202' | basenc --base16
              FE4F82

              $ printf '\376\117\202' | basenc --base2lsbf
              011111111111001001000001

              $ printf '\376\117\202' | basenc --base2msbf
              111111100100111110000010

              $ printf '\376\117\202\000' | basenc --z85
              @.FaC

AUTHOR
       Written by Simon Josefsson and Assaf Gordon.

REPORTING BUGS
       GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
       Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
       Copyright  ©  2023  Free Software Foundation, Inc.  License GPLv3+: GNU
       GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
       This is free software: you are free  to  change  and  redistribute  it.
       There is NO WARRANTY, to the extent permitted by law.

SEE ALSO
       Full documentation <https://www.gnu.org/software/coreutils/basenc>
       or available locally via: info '(coreutils) basenc invocation'

GNU coreutils 9.4                 April 2024                         BASENC(1)
本文 更新于: 2025-11-27 09:38:13 创建于: 2025-11-27 09:38:13