python3 各种编码转换

Posted cnnnnnn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3 各种编码转换相关的知识,希望对你有一定的参考价值。

在做CTF密码题时很大的坑点就在编码,中间有一个弄错就出不来结果。正好python在这块比较坑,记录一下。以下是各种需求对应的输出:

技术图片

 

 

1. 字符串转16进制ascii码串:

txt=ABC
new=txt.encode(utf-8).hex()
print(type(new), new)

输出:

<class str> 414243

2.ascii码串转字符串:

code=3041
new=bytes.fromhex(code).decode()
print(type(new), new)

输出:

<class str> 0A

 

 

3.字符串形式的16进制,转字节串

str=A7B7
c=bytes.fromhex( str )
print(c)

输出:

b\\xa7\\xb7

4.字节串转16进制串

code=b\\xa7\\xb7
new=code.hex()
print(new)

输出:

a7b7

5.base64编码解码:

from base64 import *
txt=aGVsbG8= print(b64decode(txt))

输出:

bhello

输出是bytes,如果想要字符串就decode一下. 因为往往解完base64后还要其他的操作, 默认输出bytes就很方便了.

编码也类似,用b64encode, 此处省略.

 

.

以上是关于python3 各种编码转换的主要内容,如果未能解决你的问题,请参考以下文章

python3字符串编码转换

将 python2 字节/字符串编码转换为 python3

Python3的unicode编码转换成中文问题

Python3中字符串的编码与解码以及编码之间转换(decodeencode)

python3中各个字符编码的转换

python3与python2编码导致 hmac.new/base64.b64encode('value') python3各种报错