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

官方网站建设公司排名网站优化推广seo公司

官方网站建设公司排名,网站优化推广seo公司,个人可以做微信小程序吗?,品牌网站建设服务机构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/283600.html

相关文章:

  • 钢管公司网站建设百度地图收录提交入口
  • 有没有免费做物流推荐的网站谷歌seo快速排名软件首页
  • 网站源码搭建网站seo成功的案例和分析
  • 公司网站流程推广普通话奋进新征程演讲稿
  • asp网站有哪些seo关键词优化培训
  • 动态网站开发与设计2024年2月新冠疫情又开始了吗
  • 深圳网站建设seo开发网站多少钱
  • 校园网站建设计划重庆seo网络优化师
  • 爱企查注册公司抖音视频排名优化
  • 营口做网站手机免费发布信息平台
  • 网站软件下载安装编写网页的软件
  • 开发网站设计公司建网站多少钱
  • 泰安本地网站湖南网站建设营销推广
  • 创建网站平台seo搜索引擎实训心得体会
  • 网站建设艾金手指科杰seo每天一贴
  • 列举常用的动态网站开发技术网站开发一般多少钱
  • 云南省建设教育协会网站如何推广网站运营
  • 幼儿园网站建设制度百度新闻网页
  • 一般用什么做网站首页百度竞价排名魏则西事件分析
  • 时时彩做网站网站优化培训学校
  • 北京免费网站建设模板最有效的15个营销方法
  • 做网站是用什么技术的有没有免费的广告平台
  • 大良营销网站建设流程seo公司系统
  • wordpress免费教育模板下载嘉兴seo外包服务商
  • 成都专业网站制作网站青岛网站建设公司
  • 易经网站开发公司今日新闻头条新闻摘抄
  • 建一个网站报价快速网站排名提升工具
  • 郑州做网站哪个有没有免费的crm系统软件
  • 绵阳市建设银行网站小程序开发平台
  • 在线制作图片的软件网络推广优化招聘