1pub fn u8_to_i32(v: [u8; 4]) -> i32 {
3 if v.len() < 4 {
4 return 0;
5 }
6 unsafe {
7 let i32ptr = v.as_ptr() as *const i32;
8 return *i32ptr;
9 }
10}
11
12pub fn i32_to_u8(v: i32) -> [u8; 4] {
14 unsafe {
15 let i32ptr = &v as *const i32;
16 let u8ptr = i32ptr as *const u8;
17 return [
18 *u8ptr.offset(0),
19 *u8ptr.offset(1),
20 *u8ptr.offset(2),
21 *u8ptr.offset(3),
22 ];
23 }
24}
25
26pub fn u8_to_i64(v: [u8; 8]) -> i64 {
27 if v.len() < 8 {
28 return 0;
29 }
30 unsafe {
31 let i64ptr = v.as_ptr() as *const i64;
32 return *i64ptr;
33 }
34}
35
36pub fn i64_to_u8(v: i64) -> [u8; 8] {
37 unsafe {
38 let i64ptr = &v as *const i64;
39 let u8ptr = i64ptr as *const u8;
40 return [
41 *u8ptr.offset(0),
42 *u8ptr.offset(1),
43 *u8ptr.offset(2),
44 *u8ptr.offset(3),
45 *u8ptr.offset(4),
46 *u8ptr.offset(5),
47 *u8ptr.offset(6),
48 *u8ptr.offset(7),
49 ];
50 }
51}