Go语言 操作二进制文件
2013-11-09 13:09
429 查看
二进制文件的内容:
代码:
结果:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000000 12 31 23 12 31 22 31 23 12 31 22 22 22 22 22 22 1# 1"1# 1"""""" 00000010 22 22 22 12 23 12 23 00 00 00 00 00 00 00 00 00 """ # # 00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000000D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
代码:
package main import ( "bytes" "fmt" "io" "os" ) func main() { file, err := os.OpenFile("test", os.O_RDONLY, os.ModePerm) if err != nil { defer file.Close() os.Exit(0) } file.Seek(8, 0) fmt.Println("Success Open File") var buffer bytes.Buffer io.CopyN(&buffer, file, 8) _bytes := buffer.Bytes() var magic []byte = []byte{0x12, 0x31, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22} for _, byte := range _bytes { fmt.Printf("%02X ", byte) } fmt.Println() if bytes.Compare(magic, _bytes) == 0 { fmt.Println("Equal") } }
结果:
Success Open File 12 31 22 22 22 22 22 22 Equal
相关文章推荐
- Go语言学习(九)文件操作
- Go语言学习笔记(五)文件操作
- go 语言文件操作
- Go语言文件操作
- go语言之行--文件操作、命令行参数、序列化与反序列化详解
- Go语言学习(九)文件操作
- Go语言文件操作的方法
- go语言文件操作
- Go语言_Go读写文件操作
- Go语言学习(九)文件操作
- Go语言文件操作
- go语言文件操作,这期资料比较详细( 欢迎加入go语言群: 218160862 )
- Go语言下的文件读写操作
- go语言文件操作
- Go语言的文件操作代码汇总
- 【Go语言】集合与文件操作
- c语言班费收支系统-------二进制文件操作
- go语言中常用的文件和文件夹操作函数
- Go语言文件操作
- Go语言文件操作