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中使用百度音乐搜索的api下载指定歌曲的lrc歌词
Jul 18 Python
python进阶教程之词典、字典、dict
Aug 29 Python
Python的randrange()方法使用教程
May 15 Python
Python 装饰器使用详解
Jul 29 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
Django模型序列化返回自然主键值示例代码
Jun 12 Python
python文本数据处理学习笔记详解
Jun 17 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
python 的topk算法实例
Apr 02 Python
Python文件操作及内置函数flush原理解析
Oct 13 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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
第一节--面向对象编程
2006/11/16 PHP
Linux fgetcsv取得的数组元素为空字符串的解决方法
2011/11/25 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
jQuery过滤选择器经典应用
2016/08/18 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
解决bootstrap下拉菜单点击立即隐藏bug的方法
2017/06/13 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
es6系列教程_ Map详解以及常用api介绍
2017/09/25 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python删除服务器文件代码示例
2018/02/09 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
pycharm导入源码的具体步骤
2020/08/04 Python
python中四舍五入的正确打开方式
2021/01/18 Python
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
幼儿教师求职信
2014/05/24 职场文书
另类冲刺标语
2014/06/24 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
身边的榜样活动方案
2014/08/20 职场文书
2014年中秋节活动总结
2014/08/29 职场文书