#coding #exp #codec #bit #wikipedia #pattern #exponential-golomb

exp-golomb

指数 Golomb 编码的实用工具

1 个不稳定版本

0.1.0 2023年2月10日

#7 in #exp

Download history 16/week @ 2024-04-16 38/week @ 2024-04-23 9/week @ 2024-04-30 7/week @ 2024-05-07 15/week @ 2024-05-14 7/week @ 2024-05-21 4/week @ 2024-05-28 29/week @ 2024-06-04 23/week @ 2024-06-25 18/week @ 2024-07-02 12/week @ 2024-07-09 23/week @ 2024-07-16 43/week @ 2024-07-30

每月 78 次下载

MIT/Apache

18KB
242

exp-golomb

用于指数 Golomb 编码的编码器/解码器。

使用维基百科示例

数字 比特模式
0 1
1 010
2 011
3 00100
4 00101
5 00110
6 00111
7 0001000
8 000100
use exp_golomb::{ExpGolombDecoder, ExpGolombEncoder};

let mut buf = [0u8; 6];
let mut writer = ExpGolombEncoder::new(&mut buf, 0).unwrap();
for i in 0..=8 {
    writer.put_unsigned(i).unwrap();
}
writer.close();
    
assert_eq!(
    buf,
    [0b10100110, 0b01000010, 0b10011000, 0b11100010, 0b00000100, 0b10000000]
);

let mut reader = ExpGolombDecoder::new(&buf, 0).unwrap();
for i in 0..=8 {
    assert_eq!(reader.next_unsigned(), Some(i));
}

lib.rs:

指数 Golomb 编码的实用工具。

无运行时依赖