我有一个count: u32
,需要通过它的ASCII字节表示形式推送TCP流。例如,如果值为42,我想将字节[52, 50]
(ASCII表示“ 42”)写入流中。
我可以先创建一个String
来做到这一点:
use std::io::prelude::*;
fn write_number<T: Write>(writer: &mut T, num: u32) -> std::io::Result<usize> {
let num_as_str: String = num.to_string();
let num_as_bytes = num_as_str.as_bytes();
writer.write(num_as_bytes)
}
这是浪费时间吗?我认为不需要为此任务分配String
。有没有更有效的方法来实现write_number
?我已经尝试过str
,但是str
没有实现From<u32>
。