spvirit_codec/
encode_common.rs1pub fn encode_size(size: usize, is_be: bool) -> Vec<u8> {
6 if size == 0 {
7 return vec![0x00];
8 }
9 if size < 254 {
10 return vec![size as u8];
11 }
12 let mut out = vec![0xFE];
13 let bytes = if is_be {
14 (size as u32).to_be_bytes()
15 } else {
16 (size as u32).to_le_bytes()
17 };
18 out.extend_from_slice(&bytes);
19 out
20}
21
22pub fn encode_string(value: &str, is_be: bool) -> Vec<u8> {
24 let bytes = value.as_bytes();
25 let mut out = encode_size(bytes.len(), is_be);
26 out.extend_from_slice(bytes);
27 out
28}