IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【python UnicodeDecodeError pickle open】Python 2.x -> 3.x str前有u -> 正文阅读

[Python知识库]【python UnicodeDecodeError pickle open】Python 2.x -> 3.x str前有u

原因

python在2.x与3.x版本之间常常会因为字符编码的不融洽的问题出现UnicodeDecodeError这个问题。

str 前有u

利用str.encode进行解决

string = u'anomaly'
print(string.encode('utf-8')) 
# 'anomaly'

更具体的内容参考:https://blog.csdn.net/qq_21153619/article/details/84841184

情形一 非pickle场景下

在非pickle解码的场景下,open函数一般不会用bianry的方式去解码文件,这个时候可以在写这个文件的时候,利用python 2.x把encoding改为utf-8或者ISO-8859-1,建议在文件里写的时候,还是注意一下把str给encode一下再输出出去。

data # some data of str 
f = open(file_path, 'w', encoding='utf-8')
for item in data:
	f.write(item.encode('utf-8'))
f.close()

然后用python 3.x指定encoding去读。

情形二 pickle场景下

我们在存储pickle文件的时候,通常是用binary的方式去dump的,就像

data # some data of some kinds
pickle.dump(data, open(data_path, 'wb'))

这个时候如果我们按照上一步的方式这么去读会报错,提示在binary的前提下进行读取的时候,不能在open函数中指定encoding。
错误方式:

pickle.load(data, open(date_path, 'rb', encoding='utf-8'))  # 报错

正确方式:
在pickle函数的内部,而非open函数的内部指定encoding

pickle.load(data, open(data_path, 'rb'), encoding='latin1')

参考:https://blog.csdn.net/wangleiwavesharp/article/details/106402165

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:36:49  更:2022-04-18 17:42:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 12:30:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计