go语言序列化对象为二进制
2012-10-20 12:25
627 查看
package main import ( "bytes" "encoding/binary" "fmt" ) type Register struct { ACTION int32 SID int32 } func ExampleWrite() []byte { buf := new(bytes.Buffer) var info Register info.ACTION = 20004 info.SID = 6 err := binary.Write(buf, binary.LittleEndian, info) if err != nil { fmt.Println("binary.Write failed:", err) } fmt.Printf("% x\n", buf.Bytes()) return buf.Bytes() } func ExampleRead(b []byte) { var info Register buf := bytes.NewBuffer(b) err := binary.Read(buf, binary.LittleEndian, &info) if err != nil { fmt.Println("binary.Read failed:", err) } fmt.Print(info) // Output: 3.141592653589793 } func main() { buf := ExampleWrite() ExampleRead(buf) }
go语言标准库除了提供了binary的之外,还提供了json,gob以及base32,base64的序列化
对于protocol buff协议的序列化,可以参见goprotobuf
相关文章推荐
- go语言序列化对象为二进制
- Go语言 序列化反序列化二进制包
- C#复杂对象序列化,推荐二进制
- [置顶] AMF序列化为对象和AMF序列化为二进制字节流
- 类对象序列化(反序列化)成xml文件或者二进制文件到本地文件方法
- 也写个go语言版byte变量二进制字符串转换
- C# 对象二进制序列化
- 反垃圾云服务技术和基于二进制高效的对象序列化类库 - MessagePack
- AMF序列化为对象和AMF序列化为二进制字节流
- 在内存流中对象的二进制序列化
- java语言编程IO流之对象序列化和ObjectInputStream与ObjectOutputStream
- go语言json序列化与反序列化
- C# 对象二进制序列化
- go语言的面向对象
- C# 对象二进制序列化
- Java语言中的强大武器--对象的序列化
- Go语言面组合式向对象编程基础总结
- 对象序列化(二进制序列化)
- 将AE对象序列化为二进制文件 (序列化与反序列化)
- protobuf-net 对象二进制序列化与反序列号(转)