当前位置:   article > 正文

Golang:二进制数据的Base64编码和解码操作

Golang:二进制数据的Base64编码和解码操作

Base64可以将二进制数据编码为文本数据,比如将二进制格式的图片编码为文本存储

例如:

data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==
  • 1

前面的部分,是存储了二进制数据的格式,并非base64编码后的结果

data:image/gif;base64,
  • 1

这个文本格式可以在浏览器中直接打开

编码示例

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {

    data := []byte("Hello World")

    standardEncoded := base64.StdEncoding.EncodeToString(data)
    fmt.Println(standardEncoded)
    // SGVsbG8gV29ybGQ=
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

解码示例

package main

import (
    "encoding/base64"
    "fmt"
)

func main() {

    data := "SGVsbG8gV29ybGQ="

    // 适合于标准编码
    standardEncoded, _ := base64.StdEncoding.DecodeString(data)
    fmt.Println(string(standardEncoded))
    // Hello World
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

参考
Golang 中的 Base64 编解码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/607561
推荐阅读
相关标签
  

闽ICP备14008679号