在近期的项目开发中对图片进行base64编码,简单使用了golang的base64包。

1.使用方法

1.1 引入包

import "encoding/base64"

1.2 base64使用

这里所有的例子都是官网上的范例;

code:

msg := "Hello, 世界"

encoded := base64.StdEncoding.EncodeToString([]byte(msg))

fmt.Println(encoded)

decoded, err := base64.StdEncoding.DecodeString(encoded)

if err != nil {

fmt.Println("decode error:", err)

return

}

fmt.Println(string(decoded))

Output:

SGVsbG8sIOS4lueVjA==

Hello, 世界

2. 包详解

2.1包详解

上面途中的Constants:

const (

StdPadding rune = '=' // Standard padding character

NoPadding rune = -1 // No padding

)

上面途中的Variables:

var RawStdEncoding = StdEncoding.WithPadding(NoPadding)

var RawURLEncoding = URLEncoding.WithPadding(NoPadding)

var StdEncoding = NewEncoding(encodeStd) 案例中使用的是该变量

var URLEncoding = NewEncoding(encodeURL)

以2.2节案例中详解:

base64加密:

base64.StdEncoding 如上面变量所解释,接收了“NewEncoding(encodeStd)”返回的结果“*Encoding”;

根据返回结果 再执行EncodeToString(str []byte) string 这个方法;

在源码中,EncodeToString 其实执行中的方法Encode(dst, src []byte),把结果string了一下。 当然秉着我省事的原则,我一直比较习惯用EncodeToString

打印“encoded := base64.StdEncoding.EncodeToString([]byte(msg))”后生成:

SGVsbG8sIOS4lueVjA==

base64解码:

案例中,对于解码对结果对于加密后的字符串运行:

decoded, err := base64.StdEncoding.DecodeString(encoded)

实际中DecodeString 实际是对的封装func (enc *Encoding) Decode(dst, src []byte) (n int, err error),如图可见:

ps:本文只是简单的使用base64包中一些函数。欢迎大家补充。

base64 golang 图片_golang基础学习-base64使用相关推荐

  1. c# 图片转Base64 Base64转图片

    先将图片转成 Base64 转成图片,再将 return 回来的 base64Str 直接赋值给  Base64ToImage(string base64) 函数(图片转出来的 base64 太长 我 ...

  2. 【JS】前端base64转图片File对象

    码 base64ToFile.js /** * base64转图片File * @param {String} base64 图片base64 * @param {String} fileName 图 ...

  3. 密码学基础:Base64编码

    文章概述: 本文目的:写这篇文章的目的主要是整理下密码学中Base64的知识点,并把它们分享出来.并且帮助初探密码学的坛友们一步一步的用C语言将Base64的编码实现出来. 阅读方法:希望大家在浏览完 ...

  4. kbmmw 与extjs 通过JSON Base64 显示图片

    delphi 官网上开始也来越多的介绍delphi与extjs 结合的例子,今天我就把官方的例子翻版一下. 官方使用C++builder 和webbroker 实现. 我使用kbmmw 来实现一下. ...

  5. php转为图片,php中base64转换为图片的方法

    php中base64转换为图片的方法 发布时间:2020-08-31 09:56:18 来源:亿速云 阅读:100 作者:小新 小编给大家分享一下php中base64转换为图片的方法,相信大部分人都还 ...

  6. php图片上传为base64,php实现base64图片上传方式实例代码

    /** * base64图片上传 * @param $base64_img * @return array */ header("content-type:text/html;charset ...

  7. GIF/PNG/JPG和WEBP/base64/apng图片优点和缺点整理

    GIF/PNG/JPG/WEBP/APNG都是属于位图(位图 ,务必区别于矢量图): GIF/PNG和JPG这三种格式的图片被广泛应用在现今的互联网中,gif曾在过去互联网初期慢速的情况下几乎是做到了 ...

  8. JavaCV音视频开发宝典:实现Base64编码图片转换成图片文件通用转换器,以base64转png图片文件为例,其他图片格式也全部支持

    <JavaCV音视频开发宝典>专栏目录导航 <JavaCV音视频开发宝典>专栏介绍和目录 ​ 前言 在上一章中https://eguid.blog.csdn.net/artic ...

  9. Markdown插入图片 详细例子(本地图片,网络图片,base64) Windows

    网上一番搜索,领略到基本所有回答,都是一样的,简简单单的介绍. 而且,TMD,插入图片答案的本地路径,都是回答的是Linux或Mac OS系统的路径,诸如:/user/desktop/doge.png ...

最新文章

  1. UNIX环境编程学习笔记(11)——文件I/O之文件时间以及 utime 函数
  2. sbt構建一個spark工程(scala+spark+sbt)
  3. C# Thread开启线程几种方式
  4. excel生成mysql语句_通过SQL语句直接实现Excel与数据库的导入导出
  5. Makefile万能写法(gcc程序以及arm-linux-gcc程序)-转
  6. sql instr函数_如何实现SQL INSTR()函数?
  7. ctr z撤回反向_Ctrl+Z 的反快捷键是什么
  8. 惊心动魄的句子、帅帅酷酷的话
  9. 第三十三章 SQL函数 COT
  10. HTML标记由尖括号和,HTML标记
  11. c语言静态变量总结,c语言什么是静态变量
  12. 【C/C++练习题】斐波那契数列
  13. 八字易经算法之用JAVA实现生旺死绝和十神
  14. 贴片电阻有哪几类封装尺寸?
  15. 单片机---HLK-W801蓝牙遥控点灯
  16. 利用原生JavaScript--实现小球无限转圈
  17. rk3568 android 11 默认壁纸
  18. Unity Pro 2018 for Mac(游戏开发工具)
  19. 进入命令框,输入“cd D:”,为什么会这样 - 搜搜问问
  20. 如何在剪映windows版中将视频上传到指定的抖音账号中

热门文章

  1. aliy 数据库连接池加密_Druid实现数据库连接用户密码加密 互联网技术圈 互联网技术圈...
  2. 95-36-100-ChannelHandler-ChannelOutboundHandler
  3. 【Elasticsearch】估算在 Elasticsearch 中存储文档的成本
  4. 【Elasticsearch】使用自适应副本选择改进弹性搜索的响应延迟
  5. 【Antlr】unknown attribute text for rule stat in $stat.text
  6. Eclipse报错:this compilation unit is not on the build path of a java project
  7. linux 配置root环境变量,root用户Linux 环境变量的配置解决(-bash: jps: command not found)有关问题...
  8. 大厂后端必备分布式,一定要好好学|文末有1元福利
  9. 计算机组成原理txt,计算机组成原理.TXT(Computer composition principle. TXT).doc
  10. Springboot2Web原生组件注入