base64的同胞编码方式(base64的同胞编码方式)
base64的同胞编码方式(base64的同胞编码方式)
2024-11-22 09:08:52  作者:明知你  网址:https://m.xinb2b.cn/know/puk231160.html

为了方便调试,最近想把项目中的代码加一下sourceMap,所以就去研究了一下,在研究的过程中发现sourceMap使用了一种叫base64-vlq的编码方式,那么这篇文章我们就先来聊一聊这种编码方式的原理,看看它和base64有什么样的关系?

如果你还不了解base64编码的原理,可以先看一下我之前的一篇文章详解base64和latin1的编码原理

base64-vlq的简介

编码的目的大多数是为了安全或者压缩传输大小,这种编码方式就是借用Base64的字符表去表示各种数值!

base64-vlq的原理

我们直接看一个例子,这样比总结方式更加直观。

现在把1024用base64-vql编码方式表示!

1、首先我们把1024转化为二进制——1 00000 00000,一共11位;


图1

2、在最右边补充符号位,因为1024是正数,所以最右边补充一个0——10 00000 00000,此时一共12位;

3、现在从最右边向左边每隔5位划分为一组,不足五位的左边补充0——00010 00000 00000,一共15位;

4、将组的位置顺序颠倒一下——00000 00000 00010;

5、在最左边为每组补充一位,如果这组是这个数值的最后一组,那么就补充0,前面的组都补充1——100000 100000 000010(32 32 2),一共18位;

好了,现在就可以把它转化为base64了,我们把base64字符表再贴上来,如下:


图2

6、对应一下图2中base64字符表,最后转为ggC。

接下来我们再看一个负数的例子,把-168用这种编码方式表示!

1、先把168转化为二进制——10101000;


图3

2、在最右边补充符号位,现在是负数,所以要补充1——1010 10001,一共9位;

3、分组并且把不足五位的补充0——01010 10001,一共10位;

4、组的位置颠倒顺序——10001 01010;

5、在最左边补充连续位——110001 001010(49 10),一共12位;

6、对照base64字母表,最后编码为xK。

如果你看完上面两个例子,我相信你稍微加以思考就能掌握原理了。如果在实际转换中不确定结果是否正确,可以在http://murzwin.com/base64vlq.html这个工具上加以验证!

总结

在研究sourceMap原理的过程中发现原来还有这样的编码,不过编码方式还是非常容易掌握的,后面我会继续研究sourceMap的原理并且输出相关知识点!

喜欢我的文章就关注我吧,有问题可以发表评论,我们一起学习,共同成长!

  • 30岁之后必须明白的人生智慧(我才恍然大悟的18个人生真理)
  • 2024-11-22我才恍然大悟的18个人生真理不知不觉,90年的我,已经32岁了,摸爬滚打一路走来,我总结了18个人生真理1.人脉的本质是价值互换,你有价值,你认识的人才会变成你的人脉2.刚毕业的时候,职业规划很重要,明确你要从事的行业还有岗位,。
  • 天猫精灵是干什么用的(天猫精灵有什么作用和优势)
  • 2024-11-22天猫精灵有什么作用和优势天猫精灵天猫精灵功能有门铃,呼唤铃,智能开关,一键呼叫,播放控制,个性场景,播放歌曲,全域语音操控各种家电天猫精灵是阿里巴巴人工智能实验室于2017年7月5日发布的AI智能产品品牌,天猫精灵能够听懂中。
  • 两代同堂大众朗逸依旧坚挺(双前脸还配悬浮大屏)
  • 2024-11-22双前脸还配悬浮大屏​作为紧凑家轿的“扛把子”,大众朗逸销量以及市场影响力都非常耀眼,在汽车市场销量波动中,依旧保持了极高的市场把控力随着此次中期改款朗逸的到来,全新颜值与大屏配置,在个性化以及科技感方面进一步加强,那么。
  • 孙悟空的背后实力有多大(孙悟空的真实身份是什么)
  • 2024-11-22孙悟空的真实身份是什么在《西游记》中,孙悟空乃是那仙石在吸收了天地日月之精华后而孕育出来的神物,既无父,也无母,但是,却有着通天的本领那么,孙悟空的真身究竟是什么呢?话说,这唐僧师徒在经历了九九八十一难之后,不仅取得了真经。
  • 如何评价七宗罪的结局(从幕后凶手的角度)
  • 2024-11-22从幕后凶手的角度直到《七宗罪》故事结束,约翰·多伊到底是何许人,他来自哪里,一切仍然是一个谜甚至连他的真实名字也是一个问号约翰·多伊的英文是“JohnDoe”,英语的意思是“某人”,或者说“无名氏”总之就是一个用来指。
  • 春季夜钓黑坑钓鲤鱼技巧(春季在黑坑钓鲤鱼的诀窍)
  • 2024-11-22春季在黑坑钓鲤鱼的诀窍蒌蒿满地芦芽短,正是鱼儿开口时当和煦的阳光洒满大地,当杨柳随着春分幸福滴摇摆,当鱼儿在水中快活地游来游去,钓鱼人也迎来了久违的幸福时光,又可以美美地钓鱼了春天的鱼很好钓,只有黑坑放鱼数量和质量有保证,。
  • 膨胀水箱需要补充防冻液(你以为膨胀水箱只是用来装冷却液的么)
  • 2024-11-22你以为膨胀水箱只是用来装冷却液的么【卡车之家原创】车辆上各种散热部件的名称和功能大家都有所了解但这些散热部件不仅仅依靠自身就能正常工作,还有很多相辅相成的部件今天,我们就单讲一下发动机散热系统中的膨胀水箱话说自从上次老王买了新车后,尽。
  • 辛德勒的名单和二战关联(他是辛德勒的名单原型)
  • 2024-11-22他是辛德勒的名单原型公元1939年9月,德国对波兰发起了“闪电战”,仅两周后就将波兰全部占领随后德国纳粹党们对波兰的犹太人展开了一场残酷的屠杀然而在这场屠杀中,有一个纳粹党员却很不一样他是一个投机商,只为自己的利益和德国。
  • 惠普暗影精灵7怎么变得更快(一名大学生的自述)
  • 2024-11-22一名大学生的自述作为一名大一过半的学生,对学校的生活环境早已经适应,学习也逐渐步入正轨,学习之余最欢乐的时光就是与舍友“开黑”,为了能够在游戏战场拔得头筹,拥有一款性能强劲的装备将事半功倍,所以当时在选择电脑的时候就。
  • 自己专属的微信名称(微信名字大全)
  • 2024-11-22微信名字大全微信名字大全:为您提供好听的微信名字,个性的微信名字,男孩微信名字大全,女孩微信名字大全等相关内容以供参考微信名字_好听的微信名字大全只求一份安定无可置疑◆吥↘恠侑嗳↘丶演绎悲伤一生承诺简单灬爱流年灬。
  • 山西古代城市的实态分析(山西古代城市的实态分析)
  • 2024-11-22山西古代城市的实态分析山西古代城市的实态分析选自《文物季刊》1989年02期,杨纯渊古代城市是社会生产力发展到一定历史阶段的产物它标志着整个社会经济进入了一个新的历史吋期,手工业与农业开始分离,商品交换得以发展,出现了阶级。
  • 苹果关ios14.2验证(苹果关闭iOS12.5.5)
  • 2024-11-22苹果关闭iOS12.5.5IT之家9月9日消息,苹果停止签署iOS12.5.5固件,关闭了验证通道用户的iPhone、iPad和iPodtouch软件升级后,不再可以通过iTunes或Finder降级或恢复到iOS12.5.5。