我需要一种磁盘序列化格式:
。
implementation
我找不到一种方法让msgpack或CBOR支持go中的每个文件的多条消息,尽管cbor (序列)支持它。目前我正在和asn.1比赛,这看起来不错,但我想知道是否有更好的选择。
发布于 2022-09-09 20:12:04
我让它与asn.1和cbor一起工作,现在我需要尝试msgpack
package main
import (
"bytes"
"github.com/fxamacker/cbor/v2"
"log"
)
func main() {
type Record struct {
Payload string
Counter int
}
r1 := Record{
"hello", 1}
r2 := Record{
" world", 2}
var buff []byte
b, err := cbor.Marshal(r1)
if err != nil {
log.Fatal(err)
}
buff = append(buff, b...)
b, err = cbor.Marshal(r2)
if err != nil {
log.Fatal(err)
}
buff = append(buff, b...)
log.Println(buff)
var out1, out2 Record
decoder := cbor.NewDecoder(bytes.NewReader(buff))
err = decoder.Decode(&out1)
if err != nil {
log.Fatal(err)
}
log.Println(out1)
err = decoder.Decode(&out2)
if err != nil {
log.Fatal(err)
}
log.Println(out2)
}https://stackoverflow.com/questions/73665882
复制相似问题