Base64可以将二进制数据编码为文本数据,比如将二进制格式的图片编码为文本存储
例如:
data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP///yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGXElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgdLbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wnk2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbFZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==
前面的部分,是存储了二进制数据的格式,并非base64编码后的结果
data:image/gif;base64,
这个文本格式可以在浏览器中直接打开
编码示例
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Hello World")
standardEncoded := base64.StdEncoding.EncodeToString(data)
fmt.Println(standardEncoded)
// SGVsbG8gV29ybGQ=
}
解码示例
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := "SGVsbG8gV29ybGQ="
// 适合于标准编码
standardEncoded, _ := base64.StdEncoding.DecodeString(data)
fmt.Println(string(standardEncoded))
// Hello World
}