前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Go语言-base64使用

Go语言-base64使用

作者头像
李海彬
发布2018-03-27 15:07:22
1K0
发布2018-03-27 15:07:22
举报
文章被收录于专栏:Golang语言社区
什么是base64?

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一标识符(一般为128-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

应用:个人知道的有web 把图片加密,直接同网页一起传送,秘钥签名后,也要使用它来加密,个人觉得,就是吧那些不直观看不见的数据装换看得见的字符串。

下面我们看看在golang中是如何实现的?:

代码语言:javascript
复制
package main

import (

        "encoding/base64"

        "fmt"

)

const (

        base64Table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

)

var coder = base64.NewEncoding(base64Table)



func base64Encode(src []byte) []byte {

        return []byte(coder.EncodeToString(src))

}



func base64Decode(src []byte) ([]byte, error) {

        return coder.DecodeString(string(src))

}

func main(){

        st:=base64Encode([]byte("你好吗?小子,干嘛不来一起编程了?o"))

        fmt.Print(string(st),"\n")

        stde,_:=base64Decode(st)

        fmt.Println(string(stde))

}

  输出效果:



5L2g5aW95ZCX77yf5bCP5a2Q77yM5bmy5Zib5LiN5p2l5LiA6LW357yW56iL5LqG77yfbw==



你好吗?小子,干嘛不来一起编程了?o
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档