我正在尝试将大量数字编码为字节列表(Go中的uint8)。字节数未知,因此我想使用向量。但是Go不提供字节向量,我该怎么办?并有可能获得这种字节向量的切片吗?
我打算实现数据压缩。我实现了一个可变字节,而不是存储具有相同字节数的小号和大号,而是使用了较少的小号字节和更多的大号字节。
我的代码无法编译,类型断言无效:
1 package main
2
3 import (
4 //"fmt"
5 "container/vector"
6 )
7
8 func vbEncodeNumber(n uint) []byte{
9 bytes := new(vector.Vector)
10 for {
11 bytes.Push(n % 128)
12 if n < 128 {
13 break
14 }
15 n /= 128
16 }
17 bytes.Set(bytes.Len()-1, bytes.Last().(byte)+byte(128))
18 return bytes.Data().([]byte) // <-
19 }
20
21 func main() { vbEncodeNumber(10000) }
我希望将很多这样的代码写入二进制文件,所以我希望func可以返回字节数组。
我还没有找到关于vector的代码示例。
猛跑小猪
BIG阳
相关分类