python将unicode和str互相转化的实现
问题一:
将u'\u810f\u4e71'转换为'\u810f\u4e71'
方法:
s_unicode = u'\u810f\u4e71'
s_str = s_unicode.encode('unicode-escape').decode('string_escape')
问题二:
将'\u810f\u4e71'转换为u'\u810f\u4e71'
方法:
s_str = '\u810f\u4e71's_unicode = s_str.decode('unicode-escape')
补充知识:Python最简单的解决列表中只打印UNICODE而不是中文字符的方法
答案就是用json模块:
例如:
import json data=[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}] data_c = u'\u663e\u793a' print data print data_c res_data=json.dumps(data,ensure_ascii=False,encoding="gb2312") print res_data
在没有进行格式转换时,输出为:
>>>[{u'\u663e\u793a': [u'python', u'\u8bd5\u9a8c'], u'\u6570\u91cf': 22, u'\u8bed\u8a00': u'python'}]
>>>显示
可见非列表中的数据在输出时是会转换成中文显示出来的,但列表中的unicode数据不会。
转换后,输出为:
>>>[{"显示": ["python", "试验"], "数量": 22, "语言": "python"}]
如果后面这种输出是想要的格式,那么就利用现成的json模块将原列表格式转换为json字符串输出,并设置好编码格式,就可以了。
当还需要再用这部分用来显示的数据,譬如以后什么时候又想直接用python来读取log文件中这种看起来比较方便的带中文的伪列表,那么再用json.loads转换回去即可。
以上这篇python将unicode和str互相转化的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Python2.x中str与unicode相关问题的解决方法
python2.x中处理中文,是一件头疼的事情.网上写这方面的文章,测次不齐,而且都会有点错误,所以在这里打算自己总结一篇文章. 我也会在以后学习中,不断的修改此篇博客. 这里假设读者已有与编码相关的基础知识,本文不再再次介绍,包括什么是utf-8,什么是unicode,它们之间有什么关系. str与字节码 首先,我们完全不谈unicode. s = "人生苦短" s是个字符串,它本身存储的就是字节码.那么这个字节码是什么格式的? 如果这段代码是在解释器上输入的,那么这个s的格式就是解
-
python中将\\uxxxx转换为Unicode字符串的方法
今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售 . 乍一看感觉挺简单的,用 re 库将前面的反斜杠去掉即可,但是在替换的过程中会抛出如下错误: Traceback (most recent call last): File "<pyshell#15>", line 1, in <module> re.sub(r&
-
python中int与str互转方法
最近学习python中的数据类型时,难免联想到java中的基本型数据类型与引用型数据类型.于是对python中的int与str做了简单赋值输出,出现了意料之外的事情. >>> a = 4 >>> b = int('4') >>> id (a) 1440608144 >>> id (b) 1440608144 >>> 使用int(object)后,a与b的地址是一样的. >>> c = 'e e' &
-
python将unicode和str互相转化的实现
问题一: 将u'\u810f\u4e71'转换为'\u810f\u4e71' 方法: s_unicode = u'\u810f\u4e71' s_str = s_unicode.encode('unicode-escape').decode('string_escape') 问题二: 将'\u810f\u4e71'转换为u'\u810f\u4e71' 方法: s_str = '\u810f\u4e71's_unicode = s_str.decode('unicode-escape') 补充知识
-
python将unicode转为str的方法
问题: 将u'\u810f\u4e71'转换为'\u810f\u4e71' 方法: s_unicode = u'\u810f\u4e71' s_str = s_unicode.encode('unicode-escape').decode('string_escape') 以上这篇python将unicode转为str的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python根据unicode判断语言类型实例代码
本文实例主要实现的是python根据unicode判断语言类型,具体如下. 实例代码: def is_chinese(uchar): """判断一个unicode是否是汉字""" if uchar >= u'\u4e00' and uchar<=u'\u9fa5': return True else: return False def is_number(uchar): """判断一个unicode是否是
-
python实现unicode转中文及转换默认编码的方法
本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8"转换为中文,实际上这是unicode的中文编码.可用以下方法转换: 1. >>> s = u'\u4eba\u751f\u82e6\u77ed\uff0cpy\u662f\u5cb8' >>> print s 人生苦短,
-
Python中bytes和str的区别与联系详解
目录 Bytes和Str的区别 Bytes与Str间的转换 读写文件的注意事项 总结 Bytes和Str的区别 在Python3中,字符序列有两种类型:bytes和str.bytes类型是无符号的8位值(通常以ASCII码显式),而str类型是Unicode代码点(code point).代码点指编码字符集中,字符所对应的数字. a = b'hello world' print(isinstance(a, bytes)) print(list(a)) print(a) """
-
Python内建类型str源码学习
目录 引言 1 Unicode 2 Python中的Unicode 2.1 Unicode对象的好处 2.2 Python对Unicode的优化 3 Unicode对象的底层结构体 3.1 PyASCIIObject 3.2 PyCompactUnicodeObject 3.3 PyUnicodeObject 3.4 示例 4 interned机制 5 总结 引言 “深入认识Python内建类型”这部分的内容会从源码角度为大家介绍Python中各种常用的内建类型. 在介绍常用类型str之前,在上
-
Python读写unicode文件的方法
本文实例讲述了Python读写unicode文件的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import os import codecs def writefile(fn, v_ls): f = codecs.open(fn, 'wb', 'utf-8') for i in v_ls: f.write(i + os.linesep) f.close() def readfile(fn): f = codecs.open(fn,'r','utf-8') ls =
-
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
在python2中字符串分为 unicode 和 str 类型 Str To Unicode 使用decode(), 解码 Unicode To Str 使用encode(), 编码 返回数据给前端时需要先将unicode转换为str类型, 事实上, python2 中的 str 就是一串字节(byte), 而网络通信时, 传输的就是字节. 如果前端需要接收json数据, 需要使用 json.dumps() 将数据转换为json格式进行返回, 当数据是嵌套类型的数据, 内层的数据可能无法直接转换
-
python去掉 unicode 字符串前面的u方法
有时我们会碰到类似下面这样的 unicode 字符串: u'\xe4\xbd\xa0\xe5\xa5\xbd' 这明显不是一个正确的 unicode 字符串,可能是在哪个地方转码转错了. 我们要想得到正确的 unicode 字符串首先就必须先将这个字符串转成非 unicode 字符串, 然后再进行解码.按照普通的办法进行 encode 肯定是不行的,因为这不是一个正确的 unicode 字符串: In [1]: u'\xe4\xbd\xa0\xe5\xa5\xbd'.encode('utf8')
随机推荐
- Vue2.0 从零开始_环境搭建操作步骤
- Android 使用Vitamio打造自己的万能播放器(5)——在线播放(播放优酷视频)
- Git安装和使用图文教程(分享)
- VBS中常用脚本代码
- Apache shiro的简单介绍与使用教程(与spring整合使用)
- Javascript中的window.event.keyCode使用介绍
- 基于C#实现的HOOK键盘钩子实例代码
- 高性能web服务器框架Tornado简单实现restful接口及开发实例
- python实现自动更换ip的方法
- Mysql数据库分库和分表方式(常用)
- 域名和cookie问题(域名后缀)
- Vue动态实现评分效果
- 基于jquery的15款幻灯片插件
- Eclipse引入jquery报错如何解决
- 深入理解javascript作用域第二篇之词法作用域和动态作用域
- C++ 二维数组参数传递的实现方法
- Android调用系统的发邮件功能的小例子
- 全文搜索和替换
- Android中各级目录的作用说明
- Virtualbox安装Lubuntu 18.04 64位的图文教程