位置: 编程技术 - 正文

node.js学习之base64编码解码(nodejs rbac)

编辑:rootadmin

推荐整理分享node.js学习之base64编码解码(nodejs rbac),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs基础,node js教程,node .js,node.js基础知识,nodejs rbac,node .js,nodejs bpm,node.js基础入门,内容如对您有帮助,希望把文章链接给更多的朋友!

一. Base编码由来

为什么会有Base编码呢?因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像ASCII码的控制字符就 不能通过邮件传送。这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情 况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就解决了。Base编码应运而生,Base就是一种 基于个可打印字符来表示二进制数据的表示方法。

二. Base编码原理

看一下Base的索引表,字符选用了"A-Z、a-z、0-9、+、/" 个可打印字符。数值代表字符的索引,这个是标准Base协议规定的,不能更改。个字符用6个bit位就可以全部表示,一个字节有8个bit 位,剩下两个bit就浪费掉了,这样就不得不牺牲一部分空间了。这里需要弄明白的就是一个Base字符是8个bit,但是有效部分只有右边的6个 bit,左边两个永远是0。

node.js学习之base64编码解码(nodejs rbac)

那么怎么用6个有效bit来表示传统字符的8个bit呢?8和6的最小公倍数 是,也就是说3个传统字节可以由4个Base字符来表示,保证有效位数是一样的,这样就多了1/3的字节数来弥补Base只有6个有效bit 的不足。你也可以说用两个Base字符也能表示一个传统字符,但是采用最小公倍数的方案其实是最减少浪费的。结合下边的图比较容易理解。Man是三个 字符,一共个有效bit,只好用4个Base字符来凑齐个有效位。红框表示的是对应的Base,6个有效位转化成相应的索引值再对应 Base字符表,查出"Man"对应的Base字符是"TWFU"。说到这里有个原则不知道你发现了没有,要转换成Base的最小单位就是三个字节,对一个字符串来说每次都是三个字节三个字节的转换,对应的是Base的四个字节。这个搞清楚了其实就差不多了。

但是转换到最后你发现不够三个字节了怎么办呢?愿望终于实现了,我们可以用两 个Base来表示一个字符或用三个Base表示两个字符,像下图的A对应的第二个Base的二进制位只有两个,把后边的四个补0就是了。所以 A对应的Base字符就是QQ。上边已经说过了,原则是Base字符的最小单位是四个字符一组,那这才两个字 符,后边补两个"="吧。其实不用"="也不耽误解码,之所以用"=",可能是考虑到多段编码后的Base字符串拼起来也不会引起混淆。由此可见 Base字符串只可能最后出现一个或两个"=",中间是不可能出现"="的。下图中字符"BC"的编码过程也是一样的。

三、node.js普通字符串编码解码:

编码解码并转成hex

四、node.js编码解码图片

总结

标签: nodejs rbac

本文链接地址:https://www.jiuchutong.com/biancheng/370823.html 转载请保留说明!

上一篇:利用Node.JS实现邮件发送功能(利用nodejs实现百度文本审核)

下一篇:Node.js Sequelize如何实现数据库的读写分离

  • 餐饮个体户如何开票
  • 普通电子发票如何冲红
  • 政策信息咨询服务要到哪个部门办理资质
  • 预计负债账务处理 固定资产
  • 当月逾期押金收违约金吗
  • 双倍余额递减法考虑净残值吗
  • 公司工资发放错误怎么退回
  • 同一客户应收应付可以相互抵消吗
  • 利润表的企业所得税怎么查询
  • 其他应收款通俗
  • 父母的股权给子女可以怎样认证
  • 劳务派遣税收政策文件
  • 国税发200931号文件解读
  • 普票冲红可以部分冲红吗
  • 期末未分配利润大于期初未分配利润+期末净利润
  • 金融企业同期同类贷款利率计算
  • 分公司是否可以与劳动者建立劳动关系
  • 机会成本怎么计量
  • 教育费附加税优惠
  • 工资一直计提但是未发有影响吗
  • u盘装系统?
  • 在windows7操作具有
  • 支付宝消费计入什么科目
  • 固定资产抵债交不交增值税
  • 如何做商品批发
  • php导出表格
  • laravel引入css
  • 公司偷税漏税有哪些表现形式
  • 董事费如何计算个人所得税
  • 如何开启framework 3.5
  • 资本公积转增资本金
  • php中的函数
  • php session用法
  • 权责发生制下确认的未开票收入是否缴纳增值税
  • windowsserver2019产品密钥
  • 两个公司可以是法人吗
  • 哪些合同必须签订书面合同
  • 项目建设期算不算折旧
  • 企业送的购物卡怎么退回去
  • sqlserver数据类型转换函数
  • 织梦模板改成帝国模板
  • 沙子产量表格
  • 小规模纳税人1%税率优惠政策
  • 个税申报信息怎么填
  • 自产货物用于抵偿债务
  • 股东投资款可以拿出来吗
  • 小规模减免附加税会计分录怎么做
  • 长期股权投资成本法会计处理
  • 资本化期间专门借款利息费用需将
  • 管理人员的奖金可以索赔吗
  • 预付卡销售和充值怎么做账
  • 暂估入库可以隔几个月再冲回吗
  • 利息发票可以抵税吗
  • 赠送货物金额为多少
  • 出纳和记账会计哪个好
  • mysql数据库分区查询
  • MSSQL SERVER 2005 数学函数整理
  • freebsd login
  • 安卓单机手游下载
  • win7开始菜单路径在哪里
  • windows 10激活不了
  • mom.exe是什么程序
  • win10无法回退到以前的版本怎么办
  • win8iis安装配置
  • js函数详解
  • android点击图片跳转页面
  • veth pair源码
  • jquery设置title
  • node.js+mysql
  • javascript入门经典
  • androidstudio的jdk
  • 盗梦英雄限时占卜顺序
  • android自定义view流程
  • unity shader saturate
  • java script入门
  • 详解各种汽油一吨等于多少升
  • js获取设备
  • 甘肃国家税务局兰州专用章图片
  • 税务绩效管理存在不足
  • 智能财税证书含金量如何
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设