9 个版本
0.1.11 | 2024 年 2 月 19 日 |
---|---|
0.1.10 | 2024 年 2 月 14 日 |
0.1.8 | 2024 年 1 月 21 日 |
0.1.6 | 2023 年 12 月 30 日 |
0.1.3 | 2023 年 11 月 29 日 |
4 在 #tlv
每月 252 次下载
在 2 crates 中使用
26KB
395 代码行
TLV 解析器
这是一个用 Rust 和 PHP 实现的 TLV (标签-长度-值) 解析器。解析器可以解码 TLV 编码的数据,并将每个标签表示为一个名为 Tag
的结构体。Tag
结构体具有以下字段
id
:表示标签标识符的字节数组。length
:值字段的长度。value
:表示值的字节数组。
此外,Tag
结构体还有一个 is_constructed
方法,用于检查标签是否已构造。
作为 PHP Web 服务器运行预编译的 Rust 程序
- 下载源代码并转到源代码的根目录
- 在 PowerShell 中运行以下命令
.\tlv_parser_downloader.bat
- 使用以下命令运行 PHP Web 服务器
php -S localhost:12345
- 打开您的浏览器并访问以下链接
localhost:12345
重要提示:由于 PHP Web 服务器使用 Rust 程序来解析消息,因此您需要它。您可以通过从源代码构建 Rust 编写的程序的发布版本或通过上述 tlv_parser_downloader 下载可执行文件来实现此程序。
如何作为库使用
use emv_tlv_parser::parse_tlv;
let data_raw = "6F1A840E315041592E5359532E4444463031A5088801025F2D02656E";
match parse_tlv(data_raw.to_string()) {
Ok(tags) => tags.iter().for_each(|tag| println!("{}", tag)),
Err(e) => eprintln!("Error parsing TLV: {}", e)
}
运行示例和测试
要运行程序,请使用以下命令: cargo run
要运行测试,请使用以下命令: cargo test
依赖关系
~1.2–1.8MB
~35K SLoC