python转字符_python 字符转换

我们所看到的“明文字符串”,都是经过编码(比如ASCII、Uncoded、UTF-8、GB-2312等)后呈现在我们面前的。

文本中“3082”想要“所见到所得”到内存中处理,必须decode('hex')一下(把字符串处理成内存中表面“相同”的二进制),表示成“\x30\x82"(类似编译器的东西将"\x"格式的"字符串"转化成数值,在我们看来这个就是内存中的数值,将其赋值给一个变量可以用下标索引(可以用ord函数转为值),或者切片);否则其在内存中存储的是"\x33\x30\x38\x32"。(即decode()函数2个变一个,处理的数据必须是偶数)

sublime默认会个可视字符串文件加一个回车字符,Win下是"\r\n"--"\x0d\x0a",linux下是"\n"--"\x0a"

相反:

“\x30\x82"在内存中,打印不出来可见串(可以写文件验证),所以要以可见串的形式打印,这时候用encode('hex')--将内存中的二进制以“表面相同”的字符串打印,呈现给我们,

"\x30\x82" encode('hex')-> "3082" encode('hex')-> "33303832"

==============================================================

字符串转换一个大数,用int("",16)。 数值没有encode和decode方法,只有“字符串”有

数值要读写文件或者打印,必须转化成字符串:str(n)

内存数据转大数:

'\x10\x12\x13\x14...'转成大数,先encode(‘hex’),再int(,16)。如:

sig = int(cert[-0x80:].encode('hex'),16)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值