7 个不稳定版本
| 0.4.1 | 2023年10月24日 | 
|---|---|
| 0.4.0 | 2023年10月24日 | 
| 0.3.1 | 2019年2月10日 | 
| 0.2.0 | 2018年12月19日 | 
| 0.0.2 | 2018年3月25日 | 
#479 in 编码
21KB
355 行
字节转换工具
该crate提供了一个简单的宏,可以接受多个 const-expr 值作为输入,并在编译时将它们合并成一个连续的字节数组。支持所有原始类型,并且与 #[no_std] 兼容。
use bytify::bytify;
const CAKE: char = '🎂';
assert_eq!(bytify!("The ", CAKE, " is a lie!"), [
    b'T', b'h', b'e',
    b' ',
    0xF0, 0x9F, 0x8E, 0x82,
    b' ',
    b'i', b's',
    b' ',
    b'a',
    b' ',
    b'l', b'i', b'e',
    b'!',
]);
支持类型
所有原始类型(作为字面量或任何其他 const-expr 值)以及 [u8; N] 和 &[u8] 值。
- 未指定后缀的数字默认为 i32整数和f64浮点数。
- bool值被转换为- u8。
- 使用 UTF-8 编码写入 str和char值。
字节序
bytify! 总是使用当前目标机的本地字节序来写入数据。要切换到小端/大端字节序,分别使用 bytify_le! 或 bytify_be!。
use bytify::{bytify_be, bytify_le};
assert_eq!(bytify_le!(1), [0x01, 0x00, 0x00, 0x00]);
assert_eq!(bytify_be!(1), [0x00, 0x00, 0x00, 0x01]);
常量和静态变量
use bytify::bytify;
bytify!(const NO_EVIL: '🙈', '🙉', '🙊');
assert_eq!(NO_EVIL, [0xF0, 0x9F, 0x99, 0x88, 0xF0, 0x9F, 0x99, 0x89, 0xF0, 0x9F, 0x99, 0x8A]);
依赖项
~290KB