#hex-editor #hex #display #slice #debugging #u8 #format

hexplay

以十六进制编辑器的方式格式化u8切片

10个版本

使用旧的Rust 2015

0.3.0 2023年5月3日
0.2.1 2018年5月9日
0.2.0 2017年8月19日
0.1.6 2017年5月8日
0.1.4 2017年3月5日

#72可视化

Download history 387/week @ 2024-03-14 635/week @ 2024-03-21 623/week @ 2024-03-28 405/week @ 2024-04-04 318/week @ 2024-04-11 555/week @ 2024-04-18 977/week @ 2024-04-25 617/week @ 2024-05-02 644/week @ 2024-05-09 727/week @ 2024-05-16 413/week @ 2024-05-23 474/week @ 2024-05-30 302/week @ 2024-06-06 691/week @ 2024-06-13 952/week @ 2024-06-20 681/week @ 2024-06-27

2,713 每月下载量
68 软件包中使用(5个直接使用)

MIT 许可证

33KB
562

实现了rust的Display特质,以类似许多十六进制编辑器的方式格式化u8切片。这可能对调试目的下的二进制blob导出很有用。

Build Status

文档

API文档可在此处找到: https://docs.rs/crate/hexplay/.

示例

以下是一个示例,它打印了某些向量数据的切片的十六进制视图

extern crate hexplay;

use hexplay::HexViewBuilder;

fn main() {
    // The buffer we want to display
    let data : Vec<u8> = (0u8..200u8).collect();

    // Build a new HexView using the provider builder
    let view = HexViewBuilder::new(&data[40..72])
        .address_offset(40)
        .row_width(16)
        .finish();

    println!("{}", view);
}

这将产生以下输出

00000020                          28 29 2A 2B 2C 2D 2E 2F  |         ()*+,-./ |
00000030  30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F  | 0123456789:;<=>? |
00000040  40 41 42 43 44 45 46 47                          | @ABCDEFG         |

安装

hexplaycrates.io,因此您可以在项目中像这样包含它

[dependencies]
hexplay = "*"

因为这个crate使用了?运算符,您需要rust v1.13.0或更高版本。

许可证

Hexplay遵循MIT许可证的条款。

依赖

~0–7.5MB
~45K SLoC