go語言字符串到文件的二進(jìn)制寫入
在數(shù)據(jù)存儲場景中,經(jīng)常需要將字符串轉(zhuǎn)換為二進(jìn)制格式存儲到文件中,例如redis的RDB文件。本文演示如何使用Go語言將字符串(例如”redis“)轉(zhuǎn)換為二進(jìn)制并寫入文件,并驗證其二進(jìn)制內(nèi)容。 一些開發(fā)者誤認(rèn)為需要binary包,但實際上Go語言會自動處理字符串到字節(jié)序列的轉(zhuǎn)換。
直接將字符串寫入文件即可實現(xiàn)二進(jìn)制存儲。Go語言會自動將字符串轉(zhuǎn)換為其UTF-8字節(jié)表示,這本質(zhì)上就是二進(jìn)制數(shù)據(jù)。
以下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 個字節(jié)n", n) }
運行代碼后,可以使用以下命令查看文件的十六進(jìn)制內(nèi)容:
立即學(xué)習(xí)“go語言免費學(xué)習(xí)筆記(深入)”;
hexdump xxx.txt
輸出類似:
0000000 5265 6469 730a 0000006
這驗證了”redis”字符串已成功以其UTF-8二進(jìn)制表示寫入文件。 注意0a是換行符,取決于你的操作系統(tǒng)和寫入方式可能不同。
因此,在Go語言中,將字符串寫入文件本身就完成了字符串到二進(jìn)制的轉(zhuǎn)換,無需額外使用binary包或進(jìn)行其他轉(zhuǎn)換操作。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END