# RegViewer **Repository Path**: thelxz/RegViewer ## Basic Information - **Project Name**: RegViewer - **Description**: 尝试在AI的帮助下,使用Rust + egui尝试重写RegViewer工具。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-18 - **Last Updated**: 2026-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RegViewer 一个用于查看和操作二进制数据的 Rust 工具集,包含位向量库和图形界面应用程序。 ## 项目结构 ``` RegViewer/ ├── bit_vector/ # 二进制向量库 │ └── src/lib.rs ├── bit_viewer/ # 基于 egui 的图形界面应用 │ └── src/main.rs ├── Cargo.toml # workspace 配置 └── Cargo.lock ``` ## 功能特性 ### bit_vector 库 `BinaryVector` 结构体提供以下功能: - **创建方式** - `new(length)` - 创建指定长度的空向量 - `from_bools(bits)` - 从布尔值列表创建 - `from_bin_str(s, length)` - 从二进制字符串创建 - `from_unsigned_dec_str(s, length)` - 从无符号十进制字符串创建 - `from_hex_str(s, length)` - 从十六进制字符串创建 - **基本操作** - `len()` - 获取向量长度 - `get(index)` - 获取指定位值 - `set(index, value)` - 设置指定位值 - `bits()` - 获取所有位数据 - **格式转换** - `to_bin_string()` - 转换为二进制字符串 - `to_unsigned_dec_string()` - 转换为无符号十进制字符串 - `to_signed_value()` - 转换为有符号大整数 - `to_hex_string()` - 转换为十六进制字符串 - **位运算** - `bit_not()` - 按位取反 - `sign_bit()` - 获取符号位 - `resize(new_length)` - 调整向量长度 - **移位操作** - `shift_left(n)` - 逻辑左移 - `shift_right_arithmetic(n)` - 算术右移 - `shift_right_logical(n)` - 逻辑右移 - `shift_left_circular(n)` - 循环左移 - `shift_right_circular(n)` - 循环右移 ### bit_viewer 应用 基于 egui 框架的图形界面应用,提供二进制数据的可视化查看和转换功能。 ## 使用方法 ### 作为库使用 在 `Cargo.toml` 中添加依赖: ```toml [dependencies] bit_vector = { path = "bit_vector" } ``` 示例代码: ```rust use bit_vector::BinaryVector; // 从二进制字符串创建 let bv = BinaryVector::from_bin_str("1010", 4).unwrap(); // 转换为不同格式 println!("Hex: {}", bv.to_hex_string()); println!("Decimal: {}", bv.to_unsigned_dec_string()); // 位操作 let mut bv = BinaryVector::from_bools(vec![true, false, true, false]); bv.shift_left(1); ``` ### 运行 GUI 应用 ```bash cd bit_viewer cargo run --release ``` ## 系统要求 - Rust 1.56+ - 支持的操作系统:Windows / macOS / Linux ## 依赖项 - `bit_vector`: `num-bigint` (用于大整数运算) - `bit_viewer`: `eframe`, `egui` (GUI 框架) ## 许可证 本项目遵循开源许可证协议。