#hex #binary #binary-data #decoding #command-line-tool #codec #cli

应用 赫威

命令行工具,用于将二进制数据转换为十六进制,反之亦然

7个版本

0.2.4 2019年5月7日
0.2.3 2019年5月7日
0.1.1 2019年5月6日

#122 in #hex

MIT 许可证

740KB
313

包含 (DOS 可执行文件, 725KB) hew.exe

赫威

赫威是一个命令行工具,用于将二进制数据转换为十六进制,反之亦然。这是我偶尔需要执行的任务,我想要一个简单的工具,可以覆盖常见的案例,这样我就不必一遍又一遍地编写这段代码。

提供的十六进制数据将忽略空白或分隔符字符进行读取,以支持最广泛的使用案例。十六进制输出可配置,允许使用分隔符,可选的 '0x' 前缀,将十六进制单词分组,以及多行给定数量的数据字节。

用法

赫威有两种不同的模式——bin和hex,必须在命令行上提供一种模式。在bin模式下,将创建一个二进制文件,在hex模式下,将创建一个包含十六进制数字的文本文件。

hew 0.2
Noah Ryan
Binary to Hex, Hex to Binary Converter

USAGE:
    hew [FLAGS] [OPTIONS] --input <FILE> --output <OUTFILE>

FLAGS:
    -l, --lowercase    Print hex in lowercase (default is UPPERCASE)
    -p, --prefix       Print hex with the '0x' prefix before each word, if printing with separated words
    -h, --help         Prints help information
    -V, --version      Prints version information

OPTIONS:
    -i, --input <FILE>              Input file to convert
    -m, --mode <MODE>               The target format, either 'hex' or 'bin
    -o, --output <OUTFILE>          Output file
    -r, --row-width <ROWWIDTH>      Row length in decoded bytes when decoding binary into hex
    -s, --sep <SEPARATOR>           String separator between words [default:  ]
    -w, --word-width <WORDWIDTH>    Number of bytes to decode between separators on a line. Defaults to no separators.

编码

给定以下名为numbers.hex的文件中的十六进制数字

0123456789ABCDEF

运行以下命令来编码它们为二进制

hew -i numbers.hex -o numbers.bin -m bin

以获取文件(如使用xxd查看)

00000000: 0123 4567 89ab cdef                      .#Eg....

编码没有标志来控制过程——十六进制数字从文件中读取,跳过无关字符,如空白。需要注意的一点是,赫威将尝试编码任何看起来像十六进制的字符,因此单词 "Become" 将被编码为 0xBECE(非十六进制字符将被忽略)。最好在文件中只有空白、标点符号和 '0x' 字符以及您的十六进制数据。

赫威可以接受的另一个文件示例是

0x0123 0x4567
0x89AB
0xCDEF

其中赫威会注意到 '0x' 字符在一起,并忽略它们。

解码

当将二进制数据解码为十六进制数字时,赫威提供了一些选项。

使用以下示例二进制文件(如使用xxd查看)

00000000: 0123 4567 89ab cdef                      .#Eg....

这些选项控制结果是否为单一字符序列

hew -i numbers.bin -o numbers.txt -m hex

结果如下

0123456789ABCDEF

这可以被修改为,例如,打印2个字节作为一个单词,前面有0x,每行4个字节。

hew -i numbers.bin -o numbers.txt -m hex -p -w 2 -r 4

结果如下

0X0123 0X4567
0X89AB 0XCDEF

另一个示例可以是每个字节用逗号分隔,没有前缀,所有内容都在一行上

hew -i numbers.bin -o numbers.txt -m hex -w 1 -s ", "
01, 23, 45, 67, 89, AB, CD, EF

安装

可以使用'cargo'安装赫威

cargo install hew

或者可以从https://github/nsmryan/hew/releases获取二进制文件进行安装。

许可证

赫威根据您选择的MIT许可证或APACHE 2.0许可证进行许可。

依赖关系

~755KB