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实现忽略大小写对字符串列表排序的方法
Sep 25 Python
简单的编程0基础下Python入门指引
Apr 01 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
简介Django框架中可使用的各类缓存
Jul 23 Python
python列表的常用操作方法小结
May 21 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
python pyenv多版本管理工具的使用
Dec 23 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
python如何进行基准测试
Apr 26 Python
python实现A*寻路算法
Jun 13 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下通过file_get_contents的代理使用方法
2011/02/16 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
JS FormData上传文件的设置方法
2017/07/05 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
应届毕业生就业自荐信
2013/10/26 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
开业庆典主持词
2014/03/21 职场文书
复兴之路展览观后感
2015/06/02 职场文书
暑期工社会实践报告
2015/07/13 职场文书
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers