Rust 防锈蚀剂
我有一个程序一直依赖于Rust 防锈蚀剂,rust,Rust,我有一个程序一直依赖于native::io::net:{htons,ntohs},但现在上的错误在“packet::native”中找不到“io”。变化似乎发生在上周的某个时候 搜索不会产生太多关于更改的信息,在文档中搜索htons或ntohs也不会产生任何有用的信息 在锈迹中执行htons或ntohs的(新的?)标准方法是什么 一个显而易见的解决方案是编写我自己的,但人们希望它会在标准库中。您可以在Int特性上使用from\u be和to\u be函数。网络顺序是大端的,所以这是等价的 您可以
native::io::net:{htons,ntohs}
,但现在上的错误在“packet::native”中找不到“io”
。变化似乎发生在上周的某个时候
搜索不会产生太多关于更改的信息,在文档中搜索htons
或ntohs
也不会产生任何有用的信息
在锈迹中执行htons
或ntohs
的(新的?)标准方法是什么
一个显而易见的解决方案是编写我自己的,但人们希望它会在标准库中。您可以在
Int
特性上使用from\u be
和to\u be
函数。网络顺序是大端的,所以这是等价的
您可以在文档中找到它们的示例用法:
这些现在在
std::sys\u common::net
中,但是std::sys\u common
是私有的。但是它们在src/libstd/sys/common/net.rs
中的实现非常简单:
pub fn htons(u: u16) -> u16 {
u.to_be()
}
pub fn ntohs(u: u16) -> u16 {
Int::from_be(u)
}
谢谢我发现这就是它在引擎盖下工作的方式