关于python的实现编码转换的问题

本文详细介绍了Python中base64、ASCII、URL、Unicode编码以及进制转换的使用方法。通过实例演示了各种编码的编码和解码过程,包括base64的b64encode和b64decode,ASCII的chr和ord函数,URL编码的quote和unquote,以及字符串到不同进制的转换。同时,文章提到了x标志在16进制编码中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

base64编码

import base64
a='flag'
#编码
b=base64.b64encode((a).encode("utf-8")
print(b)
#解码
print(base64.b64decode((b).decode("utf-8")))
解释一下这儿出现的问题
TypeError: a bytes-like object is required, not 'str
因为python2跟python3对解码不一样,需要先转换成utf-8,再转换为base64

ascii编码

a=99
# ascii码转换为字母数字符号
print(chr(a))
# 字母数字符号转换为ascii码
print(ord('c'))

URL编码

import  urllib.parse
username='机器学习'
print(urllib.parse.quote(kw))
# 解码
print(urllib.parse.unquote('%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0'))

以下可以对URL特殊字符进行编码
from urllib.parse import quote
url = "https://www.baidu.com/"
url_encode = quote(url, 'utf-8')
print(url_encode)

感觉这个方法,对字母不能进行编码,但是对汉字字符可以编码

unicode编码

unicode编码,需要区别于url编码,前者一般有\u得标志,后者一般有%的标志

print('你好'.encode('unicode-escape').decode())

进制的转换

# 整数转换16进制,8进制,二进制
print(hex(35))
print(oct(35))
print(bin(35))
# 16进制,8进制,2进制转换为整数
print(0x23)#自动转换
# 字符串转换
print(int('0x10',16))

\x标志的码

\x表示16进制,\61这种一般也是16进制

\表示转义,x表示16进制,也有\d,\o分别由十进制,8进制
print("\x31\x32\x61\x62")
#31是16进制的码,然后通过ASCII码转换过去,用print自动转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值