美文网首页
base64的相关操作

base64的相关操作

作者: 吃猫的鱼0 | 来源:发表于2018-07-30 10:37 被阅读0次

可以参考的文档base64中文参考文档

base64加解密

// base64解密byte数组
func DecodeToByte(data []byte) ([]byte, error) {
    enc := base64.StdEncoding
    dbuf := make([]byte, enc.DecodedLen(len(data)))
    n, err := enc.Decode(dbuf, data)
    return dbuf[:n], err
}

// base64解密字符串
func DecodeToString(data []byte) (string, error) {
    enc := base64.StdEncoding
    dbuf := make([]byte, enc.DecodedLen(len(data)))
    n, err := enc.Decode(dbuf, data)
    return string(dbuf[:n]), err
}

// 加密为byte数组
func EncodeToByte(src []byte) []byte {
    enc := base64.StdEncoding
    buf := make([]byte, enc.EncodedLen(len(src)))
    enc.Encode(buf, src)
    return buf
}

// base64加密为字符串
func EncodeToString(data []byte) (string) {
    return base64.StdEncoding.EncodeToString(data)
}

文件处理

base对文件的处理其实就是对文件的加解密处理,然后再使用相应的文件读写操作。

根据base64字符串计算图片大小

Base64编码要求把3个8位字节(38=24)转化为4个6位的字节(46=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用’=’,因此编码后输出的文本末尾可能会出现1或2个’=’(相当于多了一个或两个字节)

ff, _ := ioutil.ReadFile("image/19155559_E3nk.jpg")               //我还是喜欢用这个快速读文件
fmt.Println("编码前图片大小=====",len(ff))
buf_store:=EncodeToByte( ff)               // 文件转base64
_ = ioutil.WriteFile("image/output2.jpg.txt", buf_store, 0666) //直接写入到文件就ok完活了。
fmt.Println("编码后base64大小=====",len(buf_store))
count:=strings.Count(string(buf_store), "=")
noeq:=string(buf_store)[0:strings.Index(string(buf_store), "=")]
fmt.Println("去掉等号后的大小=====",len(noeq))
fmt.Println("两者相除=====",float32(len(noeq))/float32(len(ff)))
fmt.Println("base64求得原图片大小=====",int(float32(len(buf_store))*3/4)-count)

相关文章

  • base64的相关操作

    可以参考的文档base64中文参考文档 base64加解密 文件处理 base对文件的处理其实就是对文件的加解密处...

  • 一步到位 Base64 编码

    相关文章:Base64 之 JavaScript 实现在Web前端还可以这样实现Base64 什么是Base64 ...

  • iOS开发-数据加密

    一、Base64 二、加密相关

  • Base64

    Base64简介 Base64 原理解析 编码实现 Base64简介 命令行运行base64编码和解码 对文件操作...

  • 在Web前端还可以这样实现Base64

    相关文章:一步到位 Base64 编码Base64 之 JavaScript 实现 上面的相关文章中有一篇Base...

  • Base64Utils

    base64的相关功能类 关于base64常用的功能也就是一下四个了,最常用还是文件和base64的互转。毕竟很方...

  • Flutter 学习 对 图片文件的操作

    图片间格式的转换等操作 图片文件转换成Base64 转换思路 File=>Uint8List =>Base64使用...

  • Base64 之 JavaScript 实现

    相关文章:一步到位 Base64 编码在Web前端还可以这样实现Base64 JavaScript 实现 Base...

  • iOS runtime主要函数

    类相关操作函数 实例相关操作函数 属性操作相关函数 方法操作相关函数 选择器相关的操作函数 协议相关的操作函数 b...

  • Android:加解密总结

    记录加解密相关的东西 Base64的测试网站 https://the-x.cn/base64/将三个字节转成四个字...

网友评论

      本文标题:base64的相关操作

      本文链接:https://www.haomeiwen.com/subject/kfixvftx.html