当前位置: 首页 > wzjs >正文

官方网站建设公司排名三亚百度推广开户

官方网站建设公司排名,三亚百度推广开户,品牌创意设计公司,ajax网站开发技术byte[]数组不利于文本方式传递,一般会进行文本化处理。常见的方式有转换为十六进制数列表和使用Base64编码两种。 十六进制数会将4bit转换为一个字符,而Base64能将6bit转换为一个字符。有时为了有效控制转换后文本的长度,在实际工作中会选用B…

byte[]数组不利于文本方式传递,一般会进行文本化处理。常见的方式有转换为十六进制数列表和使用Base64编码两种。

十六进制数会将4bit转换为一个字符,而Base64能将6bit转换为一个字符。有时为了有效控制转换后文本的长度,在实际工作中会选用Base64编码。

传统的邮件只支持可见字符的传输,像ASCII码的控制字符就不能通过邮件传输。另外,图片二进制流的每个字节不可能全部都是可见字符,所以无法使用文本传输。

那么,如何解决该问题呢?

注:ASCII码包含了128个字符。其中,前32个为031,即0x000x1F,都是不可见字符。这些字符就是控制字符。

最好的方法就是在不改变传统协议的情况下,实现一种扩展方案。该方案将无法用文本表示的二进制编码转换为可见文本进行传输,从而解决相关问题,而Base64编码就是一种落地方案。

Base64是一种编码方式,这个术语是在“MIME内容传输编码规范”中提到的。Base64不是一种加密算法,实际上是一种“二进制转换到文本”的编码方式,将任意二进制数据转换为ASCII字符串的形式,以便在只支持文本的环境中也能顺利传输二进制数据。

Base64编码首先建立了如表1所示的Base64编码表,将数字0~63分别映射到64个不同的字符中。

索引对应字符索引对应字符索引对应字符索引对应字符
0A17R34i51z
1B18S35j520
2C19T36k531
3D20U37l542
4E21V38m553
5F22W39n564
6G23X40o575
7H24Y41p586
8I25Z42q597
9J26a43r608
10K27b44s619
11L28c45t62+
12M29d46u63/
13N30e47v
14O31f48w
15P32g49x
16Q33h50y
表1

由于 64个不同的字符,最多对应于64种不同的二进制编码,而6bit恰好有64种不同的二进制编码,因此Base64编码的每个字符表示一个6bit长度的二进制数。

在实际工作中,所有的二进制数都以Byte(8bit)为单位,所以要编码的二进制数的bit长度都是8的倍数;而Base64编码以6bit为单位,所以Base64能编码的二进制数的bit长度都要求为6的倍数。这就涉及补齐操作,即把8的倍数补齐到6的倍数。

在如表2所示的Base64编码示例中展示了一种完美情况。这时输入有3Byte,正好转换为4个Base64编码字符。

二进制位010011010110000101101110
索引1922546
Base64编码TWFu

表2

在其它不完美的情况下,需要将8的倍数的bit后面补0,一直补到bit的长度是6的倍数为止。综上所述,从8的倍数的bit补0到6的倍数的bit,只存在补“00”和“0000”两种情况。表3和表4所示为Base64补位示例,分别展示了补“00“和补”0000“的最简情况。

二进制位0100001001000011
二进制位(补0)010000100100001100
Base64编码QkM=

表3

二进制位01000001
二进制位(补0)010000010000
Base64编码QQ==

表4

通过补”00”或“0000”最终都能符合Base64的编码要求,在标准的Base64编码中又约定编码字符长度为4的倍数(契合表2中的完美模式)。因此,在补“00”时,添加 一个“=”补齐(见表3);在补“0000”时,添加两个“=”补齐(见表4)。

但是,“=”在实际的解码过程中是没有任何作用的,之所以用“=”,可能是考虑到多段编码后的Base64字符串拼起来也不会引用混淆。

以上便是标准的Base64编码过程(解决过程就是逆过程,此处省略),但是在实际应用中,由于Base64编码可能会出现在URL中,为了解决这种情况下导致的乱码问题,一般会使用URL安全(URL Safe)的Base64编码。

在标准的Base64编码过程中会出现字符“+”、“/”,“=”,其中“+”和“/”作为编码字符出现在编码表中,“=”作为填充字符。而这3个字符是URL不安全的,即出现在URL中时需要进行转义。所以URL安全的Base64编码直接用“-”代替“+”,用“_“代替”/“,并且不进行”=“补齐。这样得到的Base64编码就可以安全地出现在URL上。

注:

摘录自糜鹏程写的《OAuth2实战宝典》。

个人觉得是对Base64最易懂的中文版介绍,所以摘录了下来。

http://www.dtcms.com/wzjs/252675.html

相关文章:

  • 武汉做网站的培训机构重庆百度推广关键词优化
  • 在线考试响应式网站模板下载云南seo
  • 兰州网站怎么建设淘宝seo排名优化
  • 山东省建设工程造价管理协会网站打造龙头建设示范
  • 怎么做电影流量网站网站seo入门基础教程
  • 有了源码该怎么建立appseo软件简单易排名稳定
  • 大良陈村网站建设网址大全名称
  • 厦门网站推广抚顺seo
  • 一条龙网站建设哪家专业惠州网站建设方案推广
  • 怎么建设网站模板上传武汉seo网络营销推广
  • 商贸行业网站建设公司优化营商环境应当坚持什么原则
  • 肥城网站建设流程百度搜索网页版入口
  • 密云做网站域名访问网站怎么进入
  • 企业邮箱怎么注册自己的账号石家庄网站建设seo
  • 西安网站建设制作价格低郑州seo网站管理
  • 网站开发账务处理市场营销
  • 网站如何做外链网页设计与制作用什么软件
  • 人工智能搭建赣州seo排名
  • microsoft做网站小说百度风云榜
  • 集团网站设计专业团队营销网站都有哪些
  • dede 网站打开自动加html百度网盘app官网下载
  • 前台网站建设企业网站优化工具
  • 做微网站用什么框架如何建立个人网址
  • 招生代理平台seo效果分析
  • g2g有哪些网站网络seo是什么工作
  • 河南省住房城乡建设厅官方网站西安网站seo诊断
  • 微小店网站建设官网成人电脑培训班办公软件
  • 网站模板 扁平化互联网培训
  • php网站语言切换功能如何做云seo
  • wordpress做管理网站吗国外搜索引擎大全百鸣