misc之数据编码

常见进制

01、hex

进制转换:

二进制转ascii码

二进制转morse码
二进制转二维码(绘图)-用python的PIL库写脚本转

二进制转图片(hex)-用010打开转换的十六进制判断文件头,修改正确后缀打开即可

二进制转万物
………………

常见编码

ascii:

Ascii主要用来显示现代英语

base家族:

base64:把3个8位字节转化为4个6位字节,之后在6位的前面补两个0,形成8位一个字节的形式,6位2进制能表示的最大数是2的6次方是64,这也是为什么是64个字符(A-Z,a-z,0-9,+,/这64个编码字符,=号不属于编码字符,而是填充字符)的原因

base32:使用32个可打印字符(A-Z和2-7)对任意字节数据进行编码,编码后的字符串不区分大小写并排除了容易混淆的字符。tips:末尾最多有6个=

base16:使用数字0-9和字母A-F16个字符对任意字节数据进行编码。tips:不会出现=

base36:包含0-9加上所有的26个字母,不区分大小写,不包含任何标点,所有的字母要么全大写要么全小写。特点:加密仅支持整数数字,解密仅支持字符串,不支持中文。

base58:采用的字符集为“123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ”,由纯数字与字母组成而且去掉了容易引起视觉混淆的字符(0:数字零,O:大写O,I:大写i,l:小写L)。9个数字+49个字母=58个。

base62:26个字母的大小写再加上0-9,相比于base64只是去掉了两个符号(+和/)

base85:类似于base64的二进制文本编码形式,通过使用五个ascii字符表示四个字节的二进制数据,它可用于将图像嵌入到Adobe PDF文件中。

base91:由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}”)组成

base92:比base91多一个字符~

morse:

莫尔斯电码,一种早期的数字化通信形式,由 ‘.’ 和 ‘-‘ 组成

shellcode:

一段利用软件漏洞而执行的代码,shellcode为二进制的机器码,因为经常让攻击者获得shell而得名,通常用16进制(如\x55\x68)来表示,可以用16进制格式来表示其他隐写信息。

urlencode、unicode

urlencode:url编码又叫百分号编码,是统一资源定位(URL)编码方式。
URL地址(常说网址)规定了常用的数字,字母可以直接使用,另外一批作为特殊用户字符也可以直接用(/,:@等),剩下的其它所有字符必须通过%xx编码处理。
编码方法很简单,在该字节ascii码的的16进制字符前面加%. 如 空格字符,ascii码是32,对应16进制是’20’,那么urlencode编码结果是:%20。

unicode:中文又称万国码、国际码、统一码、单一码,是计算机科学领域的业界标准。它整理、编码了世界上大部分的文字系统,使得电脑可以用更为简单的方式来呈现和处理文字。
Unicode伴随着通用字符集的标准而发展,同时也以书本的形式对外发表。Unicode至今仍在不断增修,每个新版本都加入更多新的字符。

aaencode、jjencode、uuencode

aaencode:可以将js代码转换成常用的网络表情,也就是我们所说的颜文字js加密

jjencode:由$=~[]{}()_+.;!"“组成

uuencode:Uuencode是二进制信息和文字信息之间的转换编码,也就是机器和人眼识读的转换。Uuencode编码方案常见于电子邮件信息的传输,目前已被多用途互联网邮件扩展(MIME)大量取代。例如:2Y9V/Y:6SY+JZY+B’Y;*![[R!`

Jsfuck、brainfuck、ook!、short ook!

jsfuck:用六个字符!+来编写javascript程序,直接在浏览器F12的console控制台解码即可。

brainfuck:由+<>[].-组成

ook!:全部由ook.!?组成

short ook!:由.!?组成

敲击码:

是一种以非常简单的方式对文本信息进行编码的方法。因该编码对信息通过使用一系列的点击声音来编码而命名,敲击码是基于 5 ×5 方格波利比奥斯方阵来实现的,不同点是是用 K 字母被整合到 C 中。

二维码:

用某种特定几何图形按一定规律在平面分步的黑白相间的图形记录数据符号信息。

线性堆叠式二维码 PDF417、U1tracode、Code49、Code 16K

矩阵式二维码 Data Matrix、Maxi Code、Aztec Code、QP Code、Vericode

邮政码 主要用于邮件编码 POSTNET、BPO 4-STATE

QR码的特点

存储大容量信息

传统的条形码只能处理20位左右的信息量,与此相比,QR码可处理条形码的几十倍到几百倍的信息量。

另外,QR码还可以支持所有类型的数据。(如:数字、英文字母、日文字母、汉字、符号、二进制、控制码等)。一个QR码最多可以处理7089字(仅用数字时)的巨大信息量。

在小空间内打印

QR码使用纵向和横向两个方向处理数据,如果是相同的信息量,QR码所占空间为条形码的十分之一左右。(还支持Micro QR码,可以在更小空间内处理数据。)

QR码的基本结构

QR(Quick-Response) code是被广泛使用的一种二维码,解码速度快。

格式信息:纠错等级

版本信息:即二维码的规格,QR码符号共有40种规格的矩阵

二维码常见考题:

1.修补定位符

2.基于纠错等级,只给你一半的信息,需要把剩下的补全。用QRazyBox项目修补

稀奇古怪的编码

社会主义核心价值观、与佛论禅、与熊论道

参考资料

https://www.bilibili.com/video/BV1VA411u7Tg?p=3

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2020-2021 Blog of Tianze

请我喝杯咖啡吧~

支付宝
微信