You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rust中实现类似Python的to_bytes整数转字节功能?

在Rust中实现Python的to_bytes(2, byteorder="little")效果

要在Rust中得到和Python示例等价的原始字节串,直接用整数类型的to_le_bytes()方法即可,这是最直接的等价实现:

核心实现代码

fn main() {
    // 示例:替换成你实际要计算长度的对象
    let x = "example_content";
    // 将长度转为u16(对应2字节),再生成小端字节数组
    let len_u16 = x.len() as u16;
    let byte_array = len_u16.to_le_bytes();
    
    // 当x长度为10时,输出结果对应Python的b'\n\x00'
    println!("{:?}", byte_array);
}

关键说明

  • to_le_bytes()方法直接返回小端字节序的固定长度数组(u16对应[u8; 2]),完全等价于Python的len(x).to_bytes(2, byteorder="little"),输出的是原始字节格式,可直接用于网络请求。
  • 你之前尝试的{:x}格式是生成十六进制字符串,属于文本格式,和原始字节不是同一类型,因此无法达到等价效果。

安全转换(可选)

如果需要避免长度超过2字节范围时的静默溢出,可用安全转换替代强制类型转换:

let len_u16: u16 = x.len().try_into().expect("长度超过2字节最大范围(65535)");

内容的提问来源于stack exchange,提问作者null

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:22:13