go語言字符串到二進制文件寫入
本文介紹如何使用Go語言將字符串“redIS”轉換為二進制數據并寫入文件,使其在使用vim的%!xxd命令查看時顯示為“52 45 44 49 53”。 無需借助binary包即可實現。
首先,理解字符串“redis”的二進制表示。使用hexdump命令,我們可以看到其十六進制表示:
echo 'REDIS' | hexdump 0000000 52 45 44 49 53 0a 0000006
忽略最后的換行符0a,”REDIS”的二進制表示即為52 45 44 49 53。因此,直接將字符串寫入文件即可達到目的。
以下Go代碼實現該功能:
立即學習“go語言免費學習筆記(深入)”;
package main import ( "fmt" "io" "log" "os" ) func main() { file, err := os.Create("redis.bin") // 使用os.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) }
運行后,使用hexdump查看生成的redis.bin文件:
cat redis.bin | hexdump 0000000 52 45 44 49 53 0000005
結果顯示文件內容為52 45 44 49 53,與預期一致。 通過vim打開redis.bin文件,使用%!xxd命令同樣會顯示52 45 44 49 53的十六進制表示。 本方法直接利用Go語言的字符串寫入功能,簡潔高效地完成了字符串到二進制文件的轉換和寫入。 注意,使用os.Create代替os.OpenFile,確保以寫入模式創建文件,避免潛在的追加問題。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END