扣丁学堂Python培训简述如何解决Python2和Python3之间的str处理方式导致乱码

2019-03-21 16:25:39 1199浏览

Python2和Python3之间的str处理方式导致乱码后应该怎么办呢?本篇文章扣丁学堂Python培训小编给小伙伴分享一下如何解决Python2和Python3之间的str处理方式导致乱码问题,文中有代码列出供大家参考,现在分享给大家,具有很好的参考价值,希望对小伙们有帮助。



扣丁学堂Python培训简述如何解决Python2和Python3之间的str处理方式导致乱码



Python字符串问题:


在arcpy中版本为 python2.x

在QGIS中版本为 python2.x 或者 python3.x

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培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的Python讲师为您指导,此外扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:279521237。


扣丁学堂微信公众号                          Python全栈开发爬虫人工智能机器学习数据分析免费公开课直播间


【关注微信公众号获取更多学习资料】         【扫码进入Python全栈开发免费公开课】


 

查看更多关于"Python开发资讯"的相关文章>



标签: Python培训 Python视频教程 Python在线视频 Python学习视频 Python培训班

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号