pub fn strings<T: Config>(
strings_config: &T,
) -> Result<Vec<(String, u64)>, Box<dyn Error>>
Expand description
Extract strings from binary data.
Examples:
use rust_strings::{FileConfig, BytesConfig, strings, Encoding};
use std::path::Path;
let config = FileConfig::new(Path::new("/bin/ls")).with_min_length(5);
let extracted_strings = strings(&config);
// Extract utf16le strings
let config = FileConfig::new(Path::new("C:\\Windows\\notepad.exe"))
.with_min_length(15)
.with_encoding(Encoding::UTF16LE);
let extracted_strings = strings(&config);
// Extract ascii and utf16le strings
let config = FileConfig::new(Path::new("C:\\Windows\\notepad.exe"))
.with_min_length(15)
.with_encoding(Encoding::ASCII)
.with_encoding(Encoding::UTF16LE);
let extracted_strings = strings(&config);
let config = BytesConfig::new(b"test\x00".to_vec());
let extracted_strings = strings(&config);
assert_eq!(vec![(String::from("test"), 0)], extracted_strings.unwrap());