go實現(xiàn)base64編碼的四種方式
go的encoding/base64有四種編碼方式:
編碼方式 | 說明 |
---|---|
StdEncoding | 常規(guī)編碼 |
URLEncoding | URL safe 編碼,相當(dāng)于替換掉字符串中的特殊字符,+ 和 / |
RawStdEncoding | 常規(guī)編碼,末尾不補 = |
RawURLEncoding | URL safe 編碼,末尾不補 = |
package main import ( ?? ?"encoding/base64" ?? ?"fmt" ) func main() { ?? ?msg := []byte("Hello world. 你好,世界!") ?? ?// 標(biāo)準編碼 ?? ?encoded := base64.StdEncoding.EncodeToString(msg) ?? ?fmt.Println(encoded) ?? ?// SGVsbG8gd29ybGQuIOS9oOWlve+8jOS4lueVjO+8gQ== ?? ?decoded, _ := base64.StdEncoding.DecodeString(encoded) ?? ?fmt.Println(string(decoded)) ?? ?// Hello world. 你好,世界! ?? ?// 常規(guī)編碼,末尾不補 = ?? ?encoded = base64.RawStdEncoding.EncodeToString(msg) ?? ?fmt.Println(encoded) ?? ?// SGVsbG8gd29ybGQuIOS9oOWlve+8jOS4lueVjO+8gQ ?? ?decoded, _ = base64.RawStdEncoding.DecodeString(encoded) ?? ?fmt.Println(string(decoded)) ?? ?// Hello world. 你好,世界! ?? ?// URL safe 編碼 ?? ?encoded = base64.URLEncoding.EncodeToString(msg) ?? ?fmt.Println(encoded) ?? ?// SGVsbG8gd29ybGQuIOS9oOWlve-8jOS4lueVjO-8gQ== ?? ?decoded, _ = base64.URLEncoding.DecodeString(encoded) ?? ?fmt.Println(string(decoded)) ?? ?// Hello world. 你好,世界! ?? ?// URL safe 編碼,末尾不補 = ?? ?encoded = base64.RawURLEncoding.EncodeToString(msg) ?? ?fmt.Println(encoded) ?? ?// SGVsbG8gd29ybGQuIOS9oOWlve-8jOS4lueVjO-8gQ ?? ?decoded, _ = base64.RawURLEncoding.DecodeString(encoded) ?? ?fmt.Println(string(decoded)) ?? ?// Hello world. 你好,世界! }
參考
https://syaning.github.io/go-pkgs/encoding/base64.html
https://www.rfc-editor.org/rfc/rfc4648
http://doc.golang.ltd/pkg/encoding_base64.htm
https://base64.us/
到此這篇關(guān)于go實現(xiàn)base64編碼的四種方式的文章就介紹到這了,更多相關(guān)go實現(xiàn)base64編碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang使用ReverseProxy實現(xiàn)反向代理的方法
本文介紹了如何使用Golang的ReverseProxy實現(xiàn)反向代理,包括源碼結(jié)構(gòu)解析和官方單機示例NewSingleHostReverseProxy,同時指出,若要實現(xiàn)負載均衡,需要自行開發(fā),還提供了一個簡單的HTTP服務(wù)用于測試,感興趣的朋友跟隨小編一起看看吧2024-09-09Golang科學(xué)計數(shù)法轉(zhuǎn)換string數(shù)字輸出的實現(xiàn)
最近接手一個商城運單號模塊,接手后發(fā)現(xiàn)有部分運單號返回給前端是按照科學(xué)計數(shù)法的方式返回,本文就介紹一下Golang科學(xué)計數(shù)法轉(zhuǎn)換string數(shù)字輸出,感興趣的可以了解一下2021-07-07golang使用mTLS實現(xiàn)雙向加密認證http通信
這篇文章主要為大家介紹了golang如何調(diào)用mTLS實現(xiàn)雙向加密認證http通信,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,需要的小伙伴可以參考下2023-08-08