【问题标题】:Reading bytes from file into memory将字节从文件读入内存
【发布时间】:2016-10-08 13:25:58
【问题描述】:

我正在使用bufio 将字节数组附加到文件中。当我在上面使用cat 时,我得到:

[176 0 0 0 4 0 0 0 1 0 0 0 57 12 127 47 4 0 0 0 1 0 0 0 215 136 47 0 64 0 0 0 2 0 0 0 57 0 97 0 53 0 52 0 100 0 98 0 99 0 52 0 98 0 100 0 100 0 49 0 54 0 99 0 49 0 97 0 49 0 57 0 56 0 48 0 52 0 55 0 53 0 49 0 100 0 49 0 49 0 51 0 99 0 52 0 52 0 98 0 24 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 99 0 108 0 105 0 101 0 110 0 116 0 0 0 36 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 111 0 116 0 104 0 101 0 114 0 32 0 112 0 97 0 114 0 116 0 110 0 101 0 114 0][176 0 0 0 4 0 0 0 1 0 0 0 4 162 127 47 4 0 0 0 1 0 0 0 215 136 47 0 64 0 0 0 2 0 0 0 57 0 97 0 53 0 52 0 100 0 98 0 99 0 52 0 98 0 100 0 100 0 49 0 54 0 99 0 49 0 97 0 49 0 57 0 56 0 48 0 52 0 55 0 53 0 49 0 100 0 49 0 49 0 51 0 99 0 52 0 52 0 98 0 24 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 99 0 108 0 105 0 101 0 110 0 116 0 0 0 36 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 111 0 116 0 104 0 101 0 114 0 32 0 112 0 97 0 114 0 116 0 110 0 101 0 114 0][176 0 0 0 4 0 0 0 1 0 0 0 35 200 127 47 4 0 0 0 1 0 0 0 215 136 47 0 64 0 0 0 2 0 0 0 57 0 97 0 53 0 52 0 100 0 98 0 99 0 52 0 98 0 100 0 100 0 49 0 54 0 99 0 49 0 97 0 49 0 57 0 56 0 48 0 52 0 55 0 53 0 49 0 100 0 49 0 49 0 51 0 99 0 52 0 52 0 98 0 24 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 99 0 108 0 105 0 101 0 110 0 116 0 0 0 36 0 0 0 2 0 0 0 83 0 111 0 109 0 101 0 32 0 111 0 116 0 104 0 101 0 114 0 32 0 112 0 97 0 114 0 116 0 110 0 101 0 114 0]

所以是字节数组。现在我想将文件读入内存,所以我使用:

content, err := ioutil.ReadFile(filename)

但是当我显示content 变量时,我得到的输出与文件的内容完全不同(一个数组而不是多个数组)。怎么了?

【问题讨论】:

  • 如果没有您的代码的最小工作示例,我们将无法为您提供太多帮助。
  • iotuil.ReadFile 只是从文件中读取字节,它不知道如何将它们解释为[]byte以外的数据结构

标签: go bytearray


【解决方案1】:

你在文件中写错了。它的人类可读格式,应该是二进制的。

我猜你使用了 fmt.Fprintln(file, byte_slice) 之类的东西或变体。

必须是fmt.Fprintf(file, "%s", byte_slice) 或类似名称。

请向我们展示您如何写入文件的代码。

【讨论】:

    【解决方案2】:

    所以认为正在发生的事情是该文件中的内容是一个字符串。当您将其从文件中拉出时,它会将该字符串转换为字节。您需要做的是在附加到文件之前将这些字节转换为字符串,然后在从文件中提取时将它们转换回来

    https://play.golang.org/p/PyBXAU9rVW

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多