小亿 发布的文章

工业场景中,经常遇到需要将输入端的字符串转换成十六进制发送给设备端,比如:将 "FF" 转换成 "0xFF" 发送到工业设备。

package main

import (
    "encoding/binary"
    "encoding/hex"
    "fmt"
)

func main() {
    var str = "FF00"
    fmt.Printf("STR: %s\n", str)

    bs, _ := hex.DecodeString(str)
    fmt.Printf("HEX: 0x%X\n", bs)

    num := binary.BigEndian.Uint16(bs[:2])
    fmt.Printf("NUM: %d\n", num)
}

输出:

STR: FF00
HEX: 0xFF00
NUM: 65280