UnicodeDecodeError: #39;utf-8#39; codec can#39;t decode byte 0x80 in position 0: invalid start byte(UnicodeDecodeError:#39;utf-8#39;编解码器无法解码位置0中的字节0x80:无效的起始字节)
问题描述
我正在使用pickle.dumps()
保存列表:
my_list = ['Hello', 'I', 'Have', 'a', 'question', 'camión']
my_pickle = pickle.dumps(my_list)
创建泡菜后,我正在将其上载到Azure批处理中的容器:
blob_service.block_service.create_blob_from_bytes('containername', 'filename', my_pickle)
取回:
my_bytes = blob_service.block_service.get_blob_to_bytes('containername', 'filename')
我想要的(my_list
)在my_bytes.content
中,如果我打印出来,我会得到:
b'x80x03]qx00(Xx05x00x00x00Helloqx01Xx01x00x00x00Iqx02Xx04x00x00x00Haveqx03Xx01x00x00x00aqx04Xx08x00x00x00questionqx05Xx07x00x00x00camixc3xb3nqx06e.'
为了使my_bytes
返回列表,我尝试按如下方式进行解码:
my_bytes.decode('utf-8')
但我收到以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
其他编码,如latin-1
,未出错但返回
'x80x03]qx00(Xx05x00x00x00Helloqx01Xx01x00x00x00Iqx02Xx04x00x00x00Haveqx03Xx01x00x00x00aqx04Xx08x00x00x00questionqx05Xx07x00x00x00camiónqx06e.'
而不是my_list
。
我在互联网上搜索了一下为什么会发生这种情况,但我找不到任何对我有帮助的东西,所以任何建议或建议都是非常受欢迎的。我想从my_bytes
获取my_list
。请注意,我对如何解码my_bytes
感兴趣。
推荐答案
我最后做的是将列表转换为字符串,如下所示:
my_list=str(my_list)
并将其上传到Blob存储:
BlockStorage('<account_name>', '<account_key>').block_service.create_blob_from_text('<container_name>', '<file_name>', my_list)
最后,下载:
my_file_as_str = BlockStorage('<account_name>', '<account_key>').block_service.get_blob_to_text('<container_name>', '<file_name>')
要拿回我的清单,我现在只需要做以下事情:
my_list = eval(my_file_as_str.content)
这篇关于UnicodeDecodeError:';utf-8';编解码器无法解码位置0中的字节0x80:无效的起始字节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:UnicodeDecodeError:';utf-8';编解码器无法解码位置0中的字节0x80:无效的起始字节
基础教程推荐
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01