go语言字符串到文件的二进制写入
在数据存储场景中,经常需要将字符串转换为二进制格式存储到文件中,例如redis的RDB文件。本文演示如何使用Go语言将字符串(例如”redis“)转换为二进制并写入文件,并验证其二进制内容。 一些开发者误认为需要binary包,但实际上Go语言会自动处理字符串到字节序列的转换。
直接将字符串写入文件即可实现二进制存储。Go语言会自动将字符串转换为其UTF-8字节表示,这本质上就是二进制数据。
以下Go代码将字符串”redis”追加写入名为”xxx.txt”的文件:
package main import ( "fmt" "io" "log" "os" ) func main() { file, err := os.OpenFile("xxx.txt", os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644) // 使用os.O_CREATE确保文件存在 if err != nil { log.Fatal(err) } defer file.Close() n, err := io.WriteString(file, "redis") if err != nil { log.Fatal(err) } fmt.Printf("写入 %d 个字节n", n) }
运行代码后,可以使用以下命令查看文件的十六进制内容:
立即学习“go语言免费学习笔记(深入)”;
hexdump xxx.txt
输出类似:
0000000 5265 6469 730a 0000006
这验证了”redis”字符串已成功以其UTF-8二进制表示写入文件。 注意0a是换行符,取决于你的操作系统和写入方式可能不同。
因此,在Go语言中,将字符串写入文件本身就完成了字符串到二进制的转换,无需额外使用binary包或进行其他转换操作。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END