在Go语言中,可以使用base64.RawURLEncoding编码器来保证最后不出现=号。
例如:
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("hello world")
// 使用 RawURLEncoding 编码器
enc := base64.RawURLEncoding.EncodeToString(data)
fmt.Println(enc) // aGVsbG8gd29ybGQ
// 使用 RawURLEncoding 解码器
dec, _ := base64.RawURLEncoding.DecodeString(enc)
fmt.Println(string(dec)) // hello world
}
在使用RawURLEncoding编码器编码时,会将”+“替换成”-“,”/“替换成”_”,因此不需要补充”=“。同时,在解码时也要使用RawURLEncoding解码器。