**python 把 bytes 转换为对应的字符串

本文详细介绍了Python3中字符串与字节串之间的转换。通过`encode`和`decode`方法,可以实现UTF-8编码下的转换。同时,提供了在Python2下进行类似操作的函数。理解这些概念对于处理字符编码问题至关重要。
摘要由CSDN通过智能技术生成
print(str(b'123', encoding="utf8"))
# 123

print(bytes('123', encoding="utf8"))
# b'123'

encode 是把字符转换位 bytes 信息;decode 是把 bytes 信息转换为人可识别的字符信息

"""
    bytes 与 str 间转换
    b'\xe4\xbd\xa0'     8位值
    你                  str/unicode
    python3 中表示字符序列的类型:bytes 和 str
        bytes   包含原始的8位值,byte信息
        str     包含Unicode字符
    python2 中表示字符序列的类型:str 和 unicode
        str     包含原始的8位值,byte信息
        unicode 包含Unicode字符
"""
print('你'.encode('utf-8'))
# b'\xe4\xbd\xa0'
print(b'\xe4\xbd\xa0'.decode('utf-8'))
# 你

# python3
def to_str(bytes_or_str):
    if isinstance(bytes_or_str, bytes):
        value = bytes_or_str.decode('utf-8')
    else:
        value = bytes_or_str
    return value

def to_bytes(bytes_or_str):
    if isinstance(bytes_or_str, str):
        value = bytes_or_str.encode('utf-8')
    else:
        value = bytes_or_str
    return value

# python2
def to_unicode(unicode_or_str):
    if isinstance(unicode_or_str, str):
        value = unicode_or_str.decode('utf-8')
    else:
        value = unicode_or_str
    return value

def to_str(unicode_or_str):
    if isinstance(unicode_or_str, unicode):
        value = unicode_or_str.encode('utf-8')
    else:
        value = unicode_or_str
    return value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值