Go语言开发数据转换成二进制

记得有一次和一家厂商做对接的时候,要求我们的图片数据转换成二进制这样传输过去,那么在go语言开发的时候,如何实现这一个需求呢,找遍go语言的标准库,没有发现对应的标准接口,最后在万能的github上面找到一个第三方框架 biu

一、基础数据和二进制互相转换
import (
    "bytes"
    "fmt"
    "github.com/imroc/biu"
)

func main() {
    fmt.Println(biu.ToBinaryString(3))
    fmt.Println(biu.ToBinaryString(int8(4)))
    fmt.Println(biu.ToBinaryString(uint16(2)))
    fmt.Println(biu.ToBinaryString([]byte{1, 2, 3}))
    s := biu.BytesToBinaryString([]byte("xxxx.png"))
    fmt.Println(s[1 : len(s)-1])
    fmt.Println(biu.ToBinaryString([]byte("zhangguo")))
}
out:
    [00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000011]
    00000100
    [00000000 00000010]
    [00000001 00000010 00000011]
    01111000 01111000 01111000 01111000 00101110 01110000 01101110 01100111
    [01111010 01101000 01100001 01101110 01100111 01100111 01110101 01101111]
二、图片数据类型转换成二进制或者base64
func ImageToBinary() {
    ff, er := ioutil.ReadFile("xxxx.png")
    if er != nil {
        fmt.Println(er)
    } else {
        fmt.Println(biu.ToBinaryString(ff))
        base64Str := base64.StdEncoding.EncodeToString(ff)
        fmt.Println(base64Str)
    }
}
写在最后,把图片转换成二进制给对方一般很少碰到,常见就是表单形式上传或者base64位,

你可能感兴趣的:(Go语言开发数据转换成二进制)