【问题标题】:Is it safe to cast binary data from a byte array to a string and back in golang?将二进制数据从字节数组转换为字符串并返回golang是否安全?
【发布时间】:2015-09-23 00:12:34
【问题描述】:

也许是一个愚蠢的问题,但如果我有一些任意二进制数据,我可以将其转换为字符串并返回到字节数组而不破坏它吗?

[]byte(string(byte_array)) 是否总是与byte_array 相同?

【问题讨论】:

  • 在副本上浪费内存,从而使 GC 更快发生,但前提是您实际上并没有通过复制所有可用 RAM 大小或类似大小的东西来耗尽系统 RAM,是的,结果是字节相同的。
  • This blog post 可能会有所帮助,特别注意字符串可以包含 UTF-8 文本以外的内容。

标签: string go casting bytearray


【解决方案1】:

表达式 []byte(string(byte_slice)) 求值为与 byte_slice 具有相同长度和内容的切片。两个切片的容量可能不同。

虽然某些语言功能假定字符串包含有效的 UTF-8 编码文本,但字符串可以包含任意字节。

【讨论】:

    猜你喜欢
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2013-07-17
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-02
    相关资源
    最近更新 更多