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中非常实用的一些功能和函数分享
Feb 14 Python
Python中zfill()方法的使用教程
May 20 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
python导入时小括号大作用
Jan 10 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
Python实现利用163邮箱远程关电脑脚本
Feb 22 Python
python 判断参数为Nonetype类型或空的实例
Oct 30 Python
Python中作用域的深入讲解
Dec 10 Python
Python3.0中普通方法、类方法和静态方法的比较
May 03 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
Django 返回json数据的实现示例
Mar 05 Python
python如何查找列表中元素的位置
May 30 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跨站攻击实例分析
2014/10/28 PHP
gearman中任务的优先级和返回状态实例分析
2020/02/27 PHP
激活 ActiveX 控件
2006/10/09 Javascript
js玩一玩WSH吧
2007/02/23 Javascript
用jscript实现列出安装的软件列表
2007/06/18 Javascript
Javascript读取cookie函数代码
2010/10/16 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
AngularJS基础 ng-href 指令用法
2016/08/01 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
使用svg实现动态时钟效果
2018/07/17 Javascript
vue中轮训器的使用
2019/01/27 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
python根据url地址下载小文件的实例
2018/12/18 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Ubuntu16.04安装python3.6.5步骤详解
2020/01/10 Python
进程的查看和调度分别使用什么命令
2013/12/14 面试题
药剂专业求职信
2014/06/20 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
我爱我班主题班会
2015/08/13 职场文书
原来实习报告是这样写的呀!
2019/07/03 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers
SQLServer常见数学函数梳理总结
2022/08/05 MySQL