位置: 编程技术 - 正文

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如何实现数据库的读写分离

  • 个人所得税可以不交税吗
  • 收到失业金返还什么意思
  • 承兑贴现几个点是月息还是年息
  • 一般纳税人厂房出租怎么开票
  • 6月份的申报期是几号
  • 行政运行经费包括项目支出吗
  • 资产损失税前扣除是什么意思
  • 银行承兑汇票收费标准
  • 盈利能力分析对企业发展的意义
  • 服装厂里面
  • 个人咨询服务费合同
  • 税控盘怎么打票
  • 增值税专用发票丢失了要怎么处理
  • 收入与应收款
  • 赊销方式何时确认收入呢
  • 个税贷方余额比实际金额多
  • 店面转让出去收到的钱如何做账?
  • 已付款收到发票但没有做计提凭证
  • 对公直接转私人卡会怎么样
  • 零申报逾期未申报怎么补报
  • 以前年度损益的一级科目
  • 专家咨询费应如何支付
  • 融资租入固定资产改建支出计入
  • 百货商场会计账怎么做
  • 安全平台无法认证怎么办
  • php写json
  • 收到应缴财政款
  • PHP:ftp_nb_continue()的用法_FTP函数
  • wedp是什么文件
  • 房地产企业销售额扣除土地价款
  • 企业所得税中的其他业务收入包括
  • 企业购进商品取得的现金折扣
  • 新制度下财政拨款是什么
  • 印花税土地使用税和房产税怎么做会计分录
  • vue ui怎么用
  • 带壳的栗子 (© Kai Keisuke/Shutterstock)
  • 酒店的原材料和包装
  • 股权投资收益需要缴纳企业所得税吗
  • 分公司与总公司不在一个城市如何起诉
  • 一般纳税人未取得增值税专用发票怎么处理
  • 配置nginx支持php
  • 分次预缴税额怎么算
  • 经典目标检测算法
  • python3.9怎么清屏
  • 工作服钱可否收取
  • 甲公司向其控股60%的子公司捐赠货币资金3000万元
  • 公司转让后原账本怎么处理
  • chrome网上应用商店在哪
  • 注销小规模财务报表怎么办
  • 承租人损坏租赁物
  • 网银转账退回来是怎么回事
  • 付给第三方的差额是什么
  • 差旅费的进项税额需要转出吗
  • 如果我们交了房租,对方不给我们开发票
  • 实际开票金额比外经证金额大
  • 一般纳税人印花税税率是多少
  • 营业收入影响资产负债表哪些项目
  • 业务招待费管理草案探讨
  • 企业所得税和增值税重复收税了吗
  • 商业零售企业商品进销差价
  • sql 修改表的字段名称
  • 总结下半年工作计划
  • centos叫什么
  • 复制system
  • linux在服务器领域的应用状况
  • freebsd默认账户密码
  • centos下安装windows
  • win7安装flash提示连接失败
  • win7系统运行红警黑屏有声音
  • win7不允许我更改系统设置
  • windows8装windows10,文件会丢失吗
  • unity移动端教程
  • 用批处理删除注册表项
  • 常用的批处理命令
  • 火狐浏览器不支持弹出对话框操作
  • javascript怎么用
  • javascript 类
  • 长春市税务局电话号
  • 无锡地铁时速多少公里
  • 地税局属于市直单位吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设