Go语言工资水平是多少

go语言工资水平是多少?这个其实彻底取决于本身,从5K、10K、20K不等,你掌握的技术越精致,越普遍,你的工资水平越高,因此先开启你的学习之旅吧!学习

9.1 字符编码与解码

 9.1.1 Base64编码

Base64就是一种基于64个可打印字符来表示二进制数据的方法。Base64使用了26个小写字母、26个大写字母、10个数字以及两个符号(例如“+”和“/”),用于在电子邮件这样的基于文本的媒介中传输二进制数据。Base64一般用于编码邮件中的附件。code

Base64字符集以下所示。cdn

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/blog

Base64的编码过程如图所示。索引

图9.1 Base64ip

步骤说明以下。ci

l 将每一个字符转成ASCII编码(10进制)string

l 将10进制编码转成2进制编码it

l 将2进制编码按照6位一组进行平分

l 将6位一组的2进制数高位补零,而后转成10进制数

l 将10进制数做为索引,从Base64编码表中查找字符

l 每3个字符的文本将编码为4个字符长度(3*8=4*6)若文本为3个字符,则正好编码为4个字符长度; 若文本为2个字符,则编码为3个字符,因为不足4个字符,则在尾部用一个“=”补齐;若文本为1个字符,则编码为2个字符,因为不足4个字符,则在尾部用两个“=”补齐,如图所示。

图9.2 Base64编码补齐

接下来经过一个案例演示Base64编码解码,如例所示。

例1-1 Base64

1 package main

2 import (

3 "encoding/base64"

4 "fmt"

5 )

6 func main() {

7 str := "心怀不惧,方能翱翔于天际"

8 cipherText := Base64EncodeString(str)

9 fmt.Println("base64 编码后:",cipherText)

10 fmt.Println("base64 解码后:",Base64DecodeString(cipherText))

11 }

12 func Base64EncodeString(str string) string {

13 return base64.StdEncoding.EncodeToString([]byte(str))

14 }

15 func Base64DecodeString(str string) string {

16 result, _ := base64.StdEncoding.DecodeString(str)

17 return string(result)

18 }

运行结果如图所示。

图9.3 运行结果

相关文章
相关标签/搜索