如何将十六进制数字而不是&[u8]写入文件

来自std :: fs板条箱的标准write_all和write函数允许将字符串切片(从技术上讲&[u8]?)写入文件。

是否可以将十六进制数字直接写入文件?

j5899965 回答:如何将十六进制数字而不是&[u8]写入文件

您可以使用此功能:

use std::io::{Result,BufWriter,Write};

fn write_hex<W: Write>(file: &mut BufWriter<W>,data: &[u8]) -> Result<()> {
    for val in data {
        write!(file,"{:02X}",val)?;
    }
    Ok(())
}

playground

由于它分别写入每个十六进制数,因此要求您使用缓冲流。您可以使用BufWriter::new(file)创建一个。您可以将{:02X}更改为{:02x}来写小写的十六进制。

本文链接:https://www.f2er.com/2784417.html

大家都在问