taubyte_sdk/utils/codec/
string_slice.rs

1pub fn to(buf: Vec<u8>) -> Vec<String> {
2    let mut result: Vec<String> = Vec::new();
3    let mut last_index: usize = 0;
4    for idx in 0..buf.len() {
5        if buf[idx] == 0 {
6            let res = String::from_utf8(buf[last_index..idx].to_vec()).unwrap();
7
8            // Ignoring ptr to slice
9            if res.len() > 0 {
10                result.push(res);
11            }
12            last_index = idx + 1;
13        }
14    }
15
16    result
17}
18
19pub fn from(vec: Vec<String>) -> Vec<u8> {
20    let mut result: Vec<u8> = Vec::new();
21    for s in vec {
22        result.append(&mut s.into_bytes());
23        result.push(0);
24    }
25    result
26}