TLV Parser
This is a TLV (Tag-Length-Value) parser implemented in Rust. The parser can decode TLV-encoded data and represents each tag as a struct called Tag. The Tag struct has the following fields:
id: Vector of bytes representing the tag identifier.length: Length of the value field.value: Vector of bytes representing the value.
Additionally, the Tag struct has a method is_constructed to check if the tag is constructed.
How to use
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)
}
Run The Sample And Tests
To run the program, use the following command:
cargo run
To run the tests, use the following command:
cargo test