Python2和Python3之间的str处理方式导致乱码的讲解

作者:staHuri 时间:2022-10-01 09:46:53 

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的方式进行读取 写入会极大程度降低出现文本问题

来源:https://blog.csdn.net/staHuri/article/details/82421044

标签:python,字符串,乱码
0
投稿

猜你喜欢

  • 基于JS实现十种酷炫的网页特效

    2024-04-17 09:56:53
  • 利用laravel+ajax实现文件上传功能方法示例

    2024-05-03 15:28:02
  • JavaScript实现Tab标签页切换的最简便方式(4种)

    2024-04-17 10:30:36
  • 用javascript对一个json数组深度赋值示例

    2024-04-23 09:22:54
  • Go Generate 代替 Makefile使用方法详解

    2024-04-27 15:28:18
  • Qt6.5 grpc组件使用 + golang grpc server示例详解

    2024-02-07 21:25:12
  • Mysql WorkBench安装配置图文教程

    2024-01-20 00:53:14
  • 深入解析MS-SQL锁机制

    2024-01-27 19:03:21
  • win2003 Server配置SQL Server 2005远程连接的方法

    2024-01-17 10:09:06
  • ThinkPHP3.0略缩图不能保存到子目录的解决方法

    2024-04-30 08:47:06
  • asp fckeditor自定义上传文件的文件名

    2011-03-30 11:03:00
  • python模块之re正则表达式详解

    2021-08-15 03:34:52
  • SQLSERVER记录登录用户的登录时间(自写脚本)

    2024-01-27 15:07:24
  • Python 京东云无线宝消息推送功能

    2021-08-19 09:45:57
  • 网站设计应当让用户选,别让用户想

    2008-03-19 12:01:00
  • python内存管理机制原理详解

    2021-05-24 16:19:48
  • python中list常用操作实例详解

    2021-05-13 02:33:25
  • 数据库设计工具MySQL Workbench使用教程(超级详细!)

    2024-01-29 01:26:22
  • vue navbar tabbar导航条根据位置移动实现定位、颜色过渡动画效果的代码

    2024-05-13 09:38:51
  • git中submodule子模块的添加、使用和删除的示例代码

    2023-11-24 01:31:36
  • asp之家 网络编程 m.aspxhome.com