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

问题描述 投票:0回答:1

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

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

rust hex file-writing
1个回答
0
投票

您可以使用此功能:

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}以写小写十六进制。

© www.soinside.com 2019 - 2024. All rights reserved.