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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
跟老齐学Python之list和str比较
Sep 20 Python
Python新手实现2048小游戏
Mar 31 Python
Python selenium如何设置等待时间
Sep 15 Python
python脚本实现数据导出excel格式的简单方法(推荐)
Dec 30 Python
Python中static相关知识小结
Jan 02 Python
scrapy爬虫完整实例
Jan 25 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python中Lambda表达式详解
Nov 20 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
分享python函数常见关键字
Apr 26 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
Terran历史背景
2020/03/14 星际争霸
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
ionic实现可滑动的tab选项卡切换效果
2020/04/15 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
vue中实现点击变成全屏的多种方法
2020/09/27 Javascript
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
用Eclipse写python程序
2018/02/10 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
美国高街时尚品牌:OASAP
2016/07/24 全球购物
清明节扫墓活动方案
2014/03/02 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
大学生个人求职信
2014/06/02 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
浅谈python中的多态
2021/06/15 Python
Python实现仓库管理系统
2022/05/30 Python