概念简介

Go语言提供内建的 base64 编解码支持。

例程代码

package main

// 这个语法引入了 `encoding/base64` 包并使用名称 `b64`

// 代替默认的 `base64`。这样可以节省点空间。

import b64 "encoding/base64"

import "fmt"

func main() {

// 这是将要编解码的字符串。

data := "abc123!?$*&()'-=@~"

// Go 同时支持标准的和 URL 兼容的 base64 格式。编码需要

// 使用 `[]byte` 类型的参数,所以要将字符串转成此类型。

sEnc := b64.StdEncoding.EncodeToString([]byte(data))

fmt.Println(sEnc)

// 解码可能会返回错误,如果不确定输入信息格式是否正确,

// 那么,你就需要进行错误检查了。

sDec, _ := b64.StdEncoding.DecodeString(sEnc)

fmt.Println(string(sDec))

fmt.Println()

// 使用 URL 兼容的 base64 格式进行编解码。

uEnc := b64.URLEncoding.EncodeToString([]byte(data))

fmt.Println(uEnc)

uDec, _ := b64.URLEncoding.DecodeString(uEnc)

fmt.Println(string(uDec))

}

执行&输出

# 标准 base64 编码和 URL 兼容 base64 编码的编码字符串存在

# 稍许不同(后缀为 `+` 和 `-`),但是两者都可以正确解码为

# 原始字符串。

$ go run base64-encoding.go

YWJjMTIzIT8kKiYoKSctPUB+

abc123!?$*&()'-=@~

YWJjMTIzIT8kKiYoKSctPUB-

abc123!?$*&()'-=@~

课程导航

相关资料

golang中base64编码_Go语言教程:Base64编码相关推荐

  1. Swift3.0语言教程使用编码创建和初始化字符串

    Swift3.0语言教程使用编码创建和初始化字符串 使用编码创建和初始化字符串 创建和初始化字符串除了可以使用上文中提到的方法外,还可以使用init(coder:)方法,此方法一般不常使用,其语法形式 ...

  2. c语言图片base64编码,C语言实现Base64编码

    Base64是一种网络上十分常见的编码算法,主要是对ASCII码进行编码,网络上经常用它来对8Bit字节代码进行编码,编码后的字符是数组table[]="ABCDEFGHIJKLMNOPQR ...

  3. golang的int64排序_go语言中的排序讲解

    go语言的排序思路和 c 和 c++ 有些差别. c 默认是对数组进行排序, c++ 是对一个序列进行排序, go 则更宽泛一些,待排序的可以是任何对象, 虽然很多情况下是一个 slice (分片, ...

  4. 计算信源熵和香农编码C语言,信息论与编码课程设计报告-统计信源熵与香农编码.pdf...

    信息论与编码课程设计报告 设计题目: 统计信源熵与香农编码 专业班级 电 信 12-06 学 号 学生姓名 指导教师 教师评分 2015 年 3 月 30 日 目 录 - 0 - 一.设计任务与要求 ...

  5. 簇的局部变量中布尔类型_GO语言入门(go的基本类型)

    本文节选自<go入门指南> 如果觉得文章太长,可以直接看末尾的总结. 常量 常量使用关键字 const 定义,用于存储不会改变的数据. 存储在常量中的数据类型只可以是布尔型.数字型(整数型 ...

  6. golang与python交互_Go语言的类IPython 交互式编程界面

    Bret Victor 的 Inventing on principle 是我看到过的最令人激动和震撼的演示,没有之一.虽然这位前苹果公司的UI大牛早在2012年就作出的这次演示,但他的影响一直没有减 ...

  7. golang 执行sql语句_Go语言学习笔记(Golang操作MySQL数据库)

    GO连接MySQL 通过GO页面作为客户端访问数据库 1.因为GO语言没有提供任何官方数据库驱动,所以需要安装第三方函数库. 2.由于在github上安装,所以需要安装git软件,安装过程一直点击下一 ...

  8. hibernate createsqlquery delete多个表_go语言教程哪里有?xorm表基本操作及高级操作...

    在上节内容中,我们介绍了xorm框架表结构的映射规则和表结构的操作.本节课,继续来深入学习表结构基本操作和高级查询的相关功能. 表结构基本操作 对表结构的操作最常见的操作是查询和统计相关的方法,我们首 ...

  9. golang 初始化并赋值_Go语言创建、初始化数组的常见方式汇总

    本文实例总结了Go语言创建.初始化数组的常见方式.分享给大家供大家参考.具体分析如下: Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式: //数组初始化的各种方式 func arraySl ...

最新文章

  1. 《人件集》阅读笔记第一篇
  2. HDU - 3974 Assign the task (DFS建树+区间覆盖+单点查询)
  3. 恒生电子发布云计算金融应用“超云计划”
  4. 转载]SA权限九种上传方法
  5. 【Kibana】es 报错 all shards failed: [search_phase_execution_exception] all shards failed
  6. 俄罗斯议会预计2021年代币发行将激增
  7. 仰空以忧繁星,我将君心聆听,我听君心似水清,清冷好似寒冰
  8. Spring Boot 整合 Kafka 分布式消息系统快速入门
  9. php中的try语句,PHP Try-catch 语句使用技巧
  10. CorelDRAWX4的VBA插件开发(十六)颜色配置文件设置与检测
  11. 花生壳域名绑定动态IP原理浅析
  12. Arduino零散知识
  13. BUUCTF·[AFCTF2018]Vigenère·WP
  14. Monitor 采集方式
  15. python打包exe实用工具auto-py-to-exe的操作方法
  16. java 字符串驻留_JAVA 字符串驻留池
  17. opencv双目标定常见问题总结
  18. 企业微信应用设置可信域名_企业微信应用变更域名,可信域名只能设置一个导致原有推送的模板消息(旧域名)直接提示需使用应用可信域名...
  19. 工作流系统之三十五 自由流的实现
  20. Maven 目录结构:

热门文章

  1. 宇宙飞行器的几种飞行原理设计
  2. Jscript 随记
  3. Python xrange与range的区别
  4. 解决Tomcat v8.0 Server at localhost failed to start.
  5. [转载] 财经郎眼20120409:证监会“百日维新”
  6. c#中与vb中CType相同功能的函数(强类型转换)
  7. firefox下几个实用的免费开发插件
  8. 情感分析——深入snownlp原理和实践
  9. Python3 list 自定义比较函数
  10. LeetCode 206. 反转链表(Reverse Linked List) 16