gpt4 book ai didi

python - 如何将具有非 ASCII 字节的字节数组转换为 python 中的字符串?

转载 作者:行者123 更新时间:2023-12-04 13:11:09 28 4
gpt4 key购买 nike

如果 Python 的位数组包含非 ASCII 字节,我不知道如何将其转换为字符串。例子:

>>> string='\x9f'
>>> array=bytearray(string)
>>> array
bytearray(b'\x9f')
>>> array.decode()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0x9f in position 0: ordinal not in range(128)

在我的示例中,我只想以某种方式从字节数组中获取字符串 '\x9f' 。那可能吗?

最佳答案

在 Python 2 中,只需将它传递给 str() :

>>> import sys; sys.version_info
sys.version_info(major=2, minor=7, micro=8, releaselevel='final', serial=0)
>>> string='\x9f'
>>> array=bytearray(string)
>>> array
bytearray(b'\x9f')
>>> str(array)
'\x9f'

在 Python 3 中,您需要将其转换回 bytes目的:
>>> bytes(array)
b'\x9f'

关于python - 如何将具有非 ASCII 字节的字节数组转换为 python 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27657570/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com