美文网首页
Base64字符编码

Base64字符编码

作者: 鸡哥cy | 来源:发表于2018-08-25 17:27 被阅读0次

为啥会出现Base64字符编码?

        我们知道处理一串二进制码,操作系统要想知道这串二进制码代表的是哪一个字符,就必须有字符集的帮助,就比如GBK,Unicode,ASCII等等,只要有了这些字符集,二进制码串才会被系统识别并操作(比如说打印出来)。但是有些系统仅提供ASCII字符集,对于其他字符集编码的二进制码串,操作系统不认识(打印出来就是乱码了)。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。

        但是ASCII的字符中有些是不可见的,有些是控制字符,比如 NUL(空字符)   BS(退格)  LF(换行符),这些字符是不可见的,而且有可能被当成控制字符处理,比如一个纯文本协议,二进制中可能会出现被当做控制字符处理的部分。这样引起传输失败。

        Base64 最早就是用来邮件传输协议中的,原因是邮件传输协议只支持 ascii 字符传递,因此如果要传输二进制文件,如:图片、视频是无法实现的。因此 base64 就可以用来将二进制文件内容编码为只包含 ascii 字符的内容,这样就可以传输了。

如何编码?

        Base64将二进制码串转化为64(刚好是2^6)个可见字符来表示。所以3 * 8位能表示3个字节,64个可见字符只需要6位就能编码,所以这3个字节扩充为4 * 6 位,每个6位再查找索引表找到对应字符,在转成ASCII码,就变成了4个字节。

可见字符编码 Basse64编码过程

相关文章

  • Base64字符串解码时为nil的问题

    对Base64字符串解码: 对字符串进行base64编码: 参考:Base64编码解码原理详解 http://bl...

  • Base64加密

    Base64是一种编码算法,它利用6bit字符表达了原本的8bit字符,相比8bit的字符编码,Base64的编码...

  • java android 对接接口加密

    加密方式 方案1 使用Base64编码最常用的就是Base64编码了,Base64不算是加密,只是把字符经过编码变...

  • jmeter Base64编码使用(JAVA8)

    对字符串进行Base64编码 对Base64字符串进行解码

  • 加密编码总结

    url编码 base64编码 工作中碰到url与base64配合加解密的问题,base64编码后的字符串中可能含有...

  • Base64编码

    Base64编码 Base64编码是一种基于64个字符的编码,按照RFC2045的定义,Base64被定义为:Ba...

  • iOS Base64编码原理

    Base64编码原理 Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有B...

  • iOS开发探索-Base64编码

    Base64编码原理 Base64编码之所以称为Base64,是因为其使用64个字符来对任意数据进行编码,同理有B...

  • Base64加密原理

    Base64编码表 |码值| 字符| 码值| 字符| 码值| 字符| 码值| 字符|...

  • 浅谈base64图片

    什么是 base64图片编码? 图片的 base64 编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替...

网友评论

      本文标题:Base64字符编码

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