如何将混乱的字符串转换为纯文本



我正在使用python3接收和处理来自电报频道的文本消息。我有时会收到包含以下字符串的消息:

Ехchanges: Віnance Futures

看起来很正常。但当我想检查时

if 'Exchanges' in the_string:

我得到

False

试图追踪:

the_string.encode()

产生

b'xd0x95xd1x85changes: xd0x92xd1x96nance Futures'

如何将其转换为常用字符串?

'Exchanges: Binance Futures'

尝试将str类的encode((和decode((方法混合使用:

>>> my_string = 'Ехchanges: Віnance Futures'
>>> 'Ехchanges' in my_string
True
>>> my_string.encode()
b'xd0x95xd1x85changes: xd0x92xd1x96nance Futures'
>>> 'Ехchanges' in my_string.encode().decode()
True
>>> 

它是utf-8编码的字符串。这里需要使用字符串解码器decode('utf-8')

解决方案:

encoded_string = b'xd0x95xd1x85changes: xd0x92xd1x96nance Futures'
decoded_string = encoded_string.decode("utf-8")
print(decoded_string)

最新更新