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中的字典来处理索引统计的方法
May 05 Python
Python守护进程用法实例分析
Jun 04 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
Oct 07 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
python excel转换csv代码实例
Aug 26 Python
Python基础之高级变量类型实例详解
Jan 03 Python
python自定义函数def的应用详解
Jun 03 Python
python字符串拼接+和join的区别详解
Dec 03 Python
Python中npy和mat文件的保存与读取
Apr 24 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简单实现无限分类树形列表的方法
2015/03/27 PHP
PHP连接数据库实现注册页面的增删改查操作
2016/03/27 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
2014/02/26 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
非常优秀的JS图片轮播插件Swiper的用法
2017/01/03 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
Vue 2.0+Vue-router构建一个简单的单页应用(附源码)
2017/03/14 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
django通过ajax发起请求返回JSON格式数据的方法
2015/06/04 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
python学习笔记之多进程
2020/08/06 Python
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
办公室副主任岗位职责
2013/11/25 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
4s店销售经理岗位职责
2014/07/19 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2015年妇幼保健工作总结
2015/05/19 职场文书
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python