Python2和Python3之间的str处理方式导致乱码的讲解


Posted in Python onJanuary 03, 2019

Python字符串问题

  1. 在arcpy中版本为 python2.x
  2. 在QGIS中版本为 python2.x 或者 python3.x
  3. python2 和python3 之间的str处理方式经常会导致乱码,故出此文

python3版本

# 将str或字节并始终返回str
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
# 将str或字节并始终返回bytes
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版本

- 在python2版本中使用unicode方式

# 接受str或unicode,并总是返回unicode
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 
# 接受str或unicode,并总是返回str
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

备注

在python中不管任何版本,都是用 bytes的方式进行读取 写入会极大程度降低出现文本问题

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python过滤函数filter()使用自定义函数过滤序列实例
Aug 26 Python
Python格式化css文件的方法
Mar 10 Python
获取Django项目的全部url方法详解
Oct 26 Python
python实现电脑自动关机
Jun 20 Python
Python实现求解一元二次方程的方法示例
Jun 20 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
Django 多环境配置详解
May 14 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 Python
python requests 库请求带有文件参数的接口实例
Jan 03 #Python
Python图像处理之颜色的定义与使用分析
Jan 03 #Python
Python在图片中插入大量文字并且自动换行
Jan 02 #Python
python 输出所有大小写字母的方法
Jan 02 #Python
Python高斯消除矩阵
Jan 02 #Python
python遍历小写英文字母的方法
Jan 02 #Python
Python最小二乘法矩阵
Jan 02 #Python
You might like
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
js时间控件只显示年月
2017/01/08 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
基于vue的换肤功能的示例代码
2017/10/10 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
python3实现跳一跳点击跳跃
2018/01/08 Python
Python+Pandas 获取数据库并加入DataFrame的实例
2018/07/25 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
高级Java程序员面试题
2016/06/23 面试题
生产车间主管岗位职责
2013/12/28 职场文书
五型班组建设方案
2014/02/10 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
创业培训计划书
2014/05/03 职场文书
校庆标语集锦
2014/06/25 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
2014年维稳工作总结
2014/11/18 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
导游词之蜀山胜景瓦屋山
2019/11/29 职场文书
win10系统xps文件怎么打开?win10打开xps文件的两种操作方法
2022/07/23 数码科技