str 和 unicode

以下摘自《Effective Python》

python3 有两种表示字符序列的类型:bytes 和 str。前者的实例包含原始的8位值;后者的实例包含Unicode字符。
python2 中也有两种表示字符序列的类型,分别叫做 str 和 unicode 。与 python3 不同的是,str 的实例包含原始的8位值,而 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_strreturn value  # Instance of unicodedef to_str(unicode_or_str):if isinstance(unicode_or_str, unicode):value = unicode_or_str.encode('utf-8')else:value = unicode_or_strreturn value  # Instance of str

示例:解决Python2.7无法输出中文的问题

对比示例:

json_all = getExampleData(args)for key in json_all.keys():curlogger.info(to_str(key))  # 使用 to_str,将 unicode 转换成 strcurlogger.info(json_all.keys())  # 不转换成 str,直接输出 unicode

输出log:

2019-12-21 21:36:46,871 - INFO: json_all.keys() = axisclass
2019-12-21 21:36:46,871 - INFO: json_all.keys() = 中文示例
2019-12-21 21:36:46,871 - INFO: json_all.keys() = timeseries
2019-12-21 21:36:46,875 - INFO: ['axisclass', u'\u4ed3\u5355\u6a61\u80f6', 'timeseries']

这样可以正常解码 unicode 字符,方便查看log

【Python 2.7】str和unicode的互相转换,摘自《Effective Python》相关推荐

  1. PYTHON编码处理-str与Unicode的区别

    一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...

  2. Python中的str与unicode处理方法

    原文出处: liuaiqi627 的博客    python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章. 我也会在以后学习中,不 ...

  3. [Python爬虫] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题

    最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...

  4. [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题

    最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...

  5. [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题...

    最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处还是准备简单做下 ...

  6. [Python爬虫] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题...

            最近研究搜索引擎.知识图谱和Python爬虫比较多,中文乱码问题再次浮现于眼前.虽然市面上讲述中文编码问题的文章数不胜数,同时以前我也讲述过PHP处理数据库服务器中文乱码问题,但是此处 ...

  7. python编程实现人民币和美元的互相转换_【PYTHON】人民币和美元币值转换

    问题 2571. -- [PYTHON]人民币和美元币值转换2571: [PYTHON]人民币和美元币值转换时间限制:1 Sec  内存限制:128 MB 提交:4  解决:4 [提交][状态][论坛 ...

  8. python中的str方法和repr方法_详解Python中__str__和__repr__方法的区别

    对我当前工程进行全部测试需要花费不少时间.既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率. 但优点也是缺点,tmpfs 只把结果 ...

  9. python跟unicode一样吗_PYTHON编码处理-str与Unicode的区别

    一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...

最新文章

  1. 【UVA】11991 Easy Problem from Rujia Liu? (整数v第k次出现在什么位置)
  2. 使用Ansible中的playbook
  3. Modbus协议栈应用实例之一:Modbus RTU主站应用
  4. 鸿蒙手机系统还没有开发,华为鸿蒙手机太难了!引发开发者大吐槽:为何没有自己独特风格?-互联网/电商-文章-小虾米...
  5. 信度和效度经典例子_浅析经典目标检测评价指标--mmAP(一)
  6. 排序——冒泡、选择、插入、希尔、快速、计数
  7. less,more,view一个文件时中文可以正常显示,可是VI却显示乱码呢?
  8. 学会python爬虫能发财么_python如何赚钱? python爬虫如何进阶? python就业? 如何快速入门python?...
  9. GitHub 给已存在的仓库增加开原协议LICENSE
  10. 进度计划管理软件 PowerPlan (包含GRID,甘特图,直方图,网络图,跟踪逻辑,时标概要图等功能)
  11. 神奇的e——Python编程算e
  12. JS封装小写字母转大写
  13. 10/13 Total variation loss 全变分
  14. 机器学习练习 6 - Support Vector Machines(支持向量机)
  15. 学习笔记2-了解unik的设计
  16. 电影《小萝莉的猴神大叔》观后感
  17. 【2021最新】各大公司招聘官网链接汇总(持续更新中)
  18. 5月最新M1芯片安装PS2021和PS2020已更新M1芯片mac安装PS2021解决教程(附安装方法)
  19. COLA 架构使用规范化
  20. CubeMX生成的STM32F4xx MDK工程FPU和DSP库的使用

热门文章

  1. POJ - 3250 Bad Hair Day(单调队列/单调栈)
  2. java程序中怎么保证多线程的运行安全_Java线程安全问答(草稿)
  3. 华为如何在开发者选项观察错误日志_资讯:华为Mate 40 Pro屏幕供应商曝光;iPhone 13第一版原型机曝光;王者荣耀日均日活用户过亿...
  4. 目标检测常用数据集格式
  5. 20.if条件语句.rs
  6. 使用VLC和live555MediaServer搭建RTSP服务器
  7. 7.OD-字符串参考
  8. 关于网狐棋牌6603源码的整理、编译和搭建
  9. Redis缓存击穿和缓存雪崩、缓存穿透以及对应的解决方案
  10. 设计模式--装饰模式