首页 > 文章列表 > Go语言将“REDIS”转二进制并写入文件

Go语言将“REDIS”转二进制并写入文件

132 2025-03-24

如何使用Go语言将字符串“REDIS”转换为二进制并写入文件?

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代码实现该功能:

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,确保以写入模式创建文件,避免潜在的追加问题。

来源:1741983808