Base64与Base128 其实Base128和Base64没什么联系,只是沿用了这种命名规范而已。...但是Base128编码是另外一种编码,也叫variable-length quantity(VLQ),即一种变长编码。我准备用3期来详细谈谈Base128以及基于它的Zipack格式。
目录 网格体的属性中心点和顶点Base128:变长整数编码复合型网格体PMC和RMC 网格体的属性 中心点和顶点 Base128:变长整数编码 复合型网格体 PMC和RMC 本文探讨网格体的压缩存储与背后的信息论...Base128:变长整数编码 GPU接收的三角形数组是以顶点编号为基础,3个1组传递来实现的,所以三角形数组的长度是3的整数倍,倍数就是三角形的数量。...开始的自然数,所以三角形数组是一个自然数组,对于每个自然数,如果用定长整数编码比如int16或int32无疑会造成空间浪费,这里应当使用变长自然数编码:Variable Length Quantity 或者叫Base128
上一期介绍了Base128编码,这次谈谈Base128的实现——Zipack。以下内容是我Zipack格式的中文规范,其中最精彩的部分在“变长浮点数”的部分。 ?
在 Protobuf 中, 使⽤的是 Base128 Varints 编码, 在这种⽅式中, 使⽤ 7 bit (即7的2次⽅为128) 来存储数字, 在 Protobuf 中, Base128 Varints...0xFFFFFFFF需要分配32个bit,使⽤base128 Varints 编码需要的字节数:32/7=4.57, 只要 不整除就要进位, 就是需要5个字节存储。...转换后的 uint64 数值的⾼位全为 1, 相当于是⼀个 8 字节的很⼤的⽆符号数, 因此采⽤ Base128 Varints 编码后将恒定占⽤ 10 个字节的空间, 可⻅ Varints 编码对于表示负数毫...16到2047,与上⾯的规则其实类似(类似base128的⽅式)。
这两部分都是用C语言编写,支持EDNS、base32、base64、base128等多种编码规范。
当然除了base64还有很多变种,比如base85、base92、base128等众多算法。 将第二关解码的这一串字符串,再次解码: ? 这次发现,左边乱码了!!!
SHCTF(山河)赛事部分Write up-白猫 MISC [WEEK1]签到题 下载题目并打开: base128编码: Wm14aFozdDBhR2x6WDJselgyWnNZV2Q5 因为是base128
希望自己私下的研究方向和开源作品能够在项目中产生应用,实现个人价值,比如基于Base128变长编码的Zipack序列化格式可以在各种RPC通讯协议、内存缓存等高能场景提供比JSON更高效的二进制前缀码,
0x00 Before you start 简单来说,Protobuf 的编码是基于变种的 Base128。在学习 Protobuf 编码或是 Base128 之前,先来了解下 Base64 编码。
SRV,MX,CNAME,A等多种查询请求类型 随机找一个请求包 查看它的queries字段 发现ns.xxx.xxx前面是加密的数据,Iodine支持base32,base64,base128
iodine支持NULL,TXT,SRV,MX,CNAME,A等多种查询请求类型,并且支持EDNS,支持base32,base64,base128等多种编码规范。
base家族还有base85、base92、base128等众多算法。它们的区别不仅仅在于参与编码的字符集不同,算法执行也是各有千秋。 多因子认证技术 说到认证,最常出现的莫过于登录、支付等场景。
领取专属 10元无门槛券
手把手带您无忧上云