Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,948 questions

51,890 answers

573 users

How to convert a hex to a byte vector in Rust

2 Answers

0 votes
fn hex_to_bytes(hex_string: &str) -> Result<Vec<u8>, String> {
    if hex_string.len() % 2 != 0 {
        return Err("Hex string must have an even number of characters".to_string());
    }
 
    let mut bytes = Vec::new();
    for i in (0..hex_string.len()).step_by(2) {
        let hex_pair = &hex_string[i..i + 2];
        match u8::from_str_radix(hex_pair, 16) {
            Ok(byte) => bytes.push(byte),
            Err(e) => return Err(format!("Invalid hex character: {}", e)),
        }
    }
    
    Ok(bytes)
}
 
fn main() {
    let hex_string = "1A2B3C4D";
     
    match hex_to_bytes(hex_string) {
        Ok(byte_vector) => println!("{:?}", byte_vector),
        Err(e) => println!("Error: {}", e),
    }
}
 
 
/*
run:
 
[26, 43, 60, 77]
 
*/

 



answered Feb 15, 2025 by avibootz
edited Feb 15, 2025 by avibootz
0 votes
fn main() {
    let hex_string = "1A2B3C4D";
    
    let bytes: Vec<u8> = (0..hex_string.len())
        .step_by(2)
        .map(|i| u8::from_str_radix(&hex_string[i..i+2], 16).unwrap())
        .collect();

    println!("{:?}", bytes);
}

 
 
/*
run:
 
[26, 43, 60, 77]
 
*/

 



answered Feb 15, 2025 by avibootz

Related questions

1 answer 77 views
2 answers 79 views
1 answer 77 views
77 views asked Jan 27, 2025 by avibootz
1 answer 111 views
2 answers 106 views
106 views asked Nov 19, 2024 by avibootz
...