今天在工作中遇到这样一个问题(工作环境为Python2.7.1),需要将一个字典中字符串形态的Unicode类型的汉字转换成中文,随便总结一下:

1、unicode转中文

old = u'\u4e2d\u56fd'
print old.encode(encoding='utf-8')
>>>>> 中国

2、str形态的unicode转中文

old = '\\u9690\\u79c1\\u7a83\\u53d6'
print old.encode('utf-8').decode('unicode_escape')
>>>>> 隐私窃取

3、认识python2和python3编码并对比

Python有两种不同的字符串,一种存储文本,一种存储字节。对于文本,python内部采用Unicode存储,而字节字符串显示原始字节序列或者ASCII。

什么叫编码(encode)?

将Unicode字符按照编码规则(如UTF-8)编成字节序列

什么叫解码(decode)?

将字节序列按照编码规则(如UTF-8)解释成unicode形式

Python2 中字符的类型:
1、str: 已经编码后的字节序列
2、unicode: 编码前的文本字符
import platform
print (platform.python_version()) str = '中国'
print(str,type(str))
print (str.decode('utf-8'),type(str.decode('utf-8'))) 2.7.13
('\xe4\xb8\xad\xe5\x9b\xbd', <type 'str'>)
(u'\u4e2d\u56fd', <type 'unicode'>)

 

Python3 中字符的类型:
1、str: 编码过的 unicode 文本字符
2、bytes: 编码前的字节序列
import platform
print (platform.python_version()) str = '中国'
print(str,type(str))
print (str.encode('utf-8'),type(str.encode('utf-8'))) 3.2.0
中国 <class 'str'>
b'\xe4\xb8\xad\xe5\x9b\xbd' <class 'bytes'>

在Python3中的 str 对象在Python2中叫做 unicode ,感觉很通俗对吧?但 bytes 对象在Python2中叫做 str ,总体来说,在 Python3 中,字符编码问题得到了极大的优化,不再像 Python2 那么头疼。在 Python3 中,文本总是 Unicode, 由 str 类型进行表示,二进制数据使用 bytes 进行表示,不会将 str 与 bytes 偷偷的混在一起,使得两者的区别更加明显。

unicode转中文以及str形态的unicode转中文的更多相关文章

  1. js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换&#XXX函数代码

    最近看不少在线工具里面都有一些编码转换的代码,很多情况下我们都用得到,这里脚本之家小编就跟大家分享一下这些资料 Unicode介绍 Unicode(统一码.万国码.单一码)是一种在计算机上使用的字符编 ...

  2. Python - TypeError: unicode argument expected, got 'str'

    参考:TypeError: unicode argument expected, got 'str' Python代码: from io import StringIO def main(): f = ...

  3. 利用RNN进行中文文本分类(数据集是复旦中文语料)

    利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) 1.训练词向量 数据预处理参考利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) ,现在我们有了分词 ...

  4. SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

    一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...

  5. mysql 控制台环境下查询中文数据乱码,插入、更新中文数据不成功

    mysql 控制台环境下查询中文数据乱码,插入.更新中文数据不成功         登录mysql密码是加入编码参数--default-character-set,中文用gbk mysql -uroo ...

  6. jQuery Cookie (内附 上百行的中文使用手册,与 所有的注释中文翻译)

    jQuery Cookie (内附 上百行的中文使用手册,与 所有的注释中文翻译) 博主亲自翻译. 大家多多捧场. 更多资源请点击"查看TA 的资源" .全场通通 2积分. htt ...

  7. 利用CNN进行中文文本分类(数据集是复旦中文语料)

    利用TfidfVectorizer进行中文文本分类(数据集是复旦中文语料) 利用RNN进行中文文本分类(数据集是复旦中文语料) 上一节我们利用了RNN(GRU)对中文文本进行了分类,本节我们将继续使用 ...

  8. Unicode字符集下CString与char *转换 (解决中文乱码等)(转)

    UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家 ...

  9. Python+Webdriver,中文前加u是unicode格式编码的意思

    Python+Webdriver写脚本时,对一些输入框赋值会涉及到输入中文,这时需要在中文前加u 举个例子,在用百度搜索时,要在搜索输入框内输入值, 我用的编码格式是utf-8,向输入框内输入值是:d ...

随机推荐

  1. MapReduce实现与自定义词典文件基于hanLP的中文分词详解

    前言: 文本分类任务的第1步,就是对语料进行分词.在单机模式下,可以选择python jieba分词,使用起来较方便.但是如果希望在Hadoop集群上通过mapreduce程序来进行分词,则hanLP ...

  2. 学习大数据基础框架hadoop需要什么基础

    什么是大数据?进入本世纪以来,尤其是2010年之后,随着互联网特别是移动互联网的发展,数据的增长呈爆炸趋势,已经很难估计全世界的电子设备中存储的数据到底有多少,描述数据系统的数据量的计量单位从MB(1 ...

  3. jQuery模态框实现 后台添加删除修改Ip端口

    主要用到,$('#i1').each(),标签里绑定函数可传参数this <!DOCTYPE html> <html lang="en"> <head ...

  4. FLIR ONE PRO热成像仪

    FLIR ONE PRO热成像仪 https://www.chiphell.com/thread-1774218-1-1.html

  5. 不可小视的String字符串

    String印象 String是java中的无处不在的类,使用也很简单.初学java,就已经有字符串是不可变的盖棺定论,解释通常是:它是final的. 不过,String是有字面量这一说法的,这是其他 ...

  6. 找不到 EntityType “ ” 的映射和元数据信息。

    意思是: 数据库里边有添加的新字段DB1,而程序中的的实体即“元数据”中没有这个新字段Et1,由于EntityFramework更新模型时已自动默认对DB1和Et1进行了映射(默认认为实体中存在这个字 ...

  7. python selenium 模拟登陆百度账号

    代码: from selenium import webdriver url = 'https://passport.baidu.com/v2/?login' username = 'your_use ...

  8. C与C++的部分区别

    1.函数无形参情况 void test() { } int main() { test(,); ; } 在C语言中形参括号没有参数时代表接受任意多的参数,而在C++语言中代表void(无参数) 所以上 ...

  9. 服务容错保护断路器Hystrix之二:Hystrix工作流程解析

    一.总运行流程 当你发出请求后,hystrix是这么运行的 红圈 :Hystrix 命令执行失败,执行回退逻辑.也就是大家经常在文章中看到的“服务降级”. 绿圈 :四种情况会触发失败回退逻辑( fal ...

  10. IDC:机房监控系统

    ylbtech-IDC:机房监控系统 机房监控系统主要是针对机房所有的设备及环境进行集中监控和管理的,其监控对象构成机房的各个子系统:动力系统.环境系统.消防系统.保安系统.网络系统等. 1.返回顶部 ...