【问题标题】:How to convert []byte data to uint16 in go?如何在go中将[]byte数据转换为uint16?
【发布时间】:2016-10-10 14:44:03
【问题描述】:

我有以下十六进制数据:0xB01B;其45083 为 uint16;如何在 go 中将其转换为 uint16?

【问题讨论】:

    标签: go types


    【解决方案1】:

    使用encoding/binary 包:

    import (
       "encoding/binary"
    )
    
    data := []byte{0xB0, 0x1B}
    val := binary.BigEndian.Uint16(data)
    

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

    【讨论】:

      【解决方案2】:

      另一个选项是ReadUint16:

      package main
      import "golang.org/x/crypto/cryptobyte"
      
      func main() {
         s := cryptobyte.String{0xB0, 0x1B}
         var n uint16
         s.ReadUint16(&n)
         println(n == 45083)
      }
      

      https://godocs.io/golang.org/x/crypto/cryptobyte#String.ReadUint16

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-14
        • 2012-06-26
        • 2017-02-14
        • 2013-01-27
        • 2014-11-22
        • 1970-01-01
        相关资源
        最近更新 更多