程序开发中,不同语言文字的显示,不同字符集之间的转换非常麻烦,在python的unicode的使用中,对这点感触颇深。所以,以下总结了python中对unicode字符处理的一些理解。

程序存储、传输、操作字符串时,对代码中写好的字符串或者手动输入的字符串,程序会自动将这些字符串按照某种字符集编码(一般为本地系统字符编码)将字符串转换为字节码,这是字符的“解码”,将显示的字符转化为字节码;

程序中显示文字时,计算机读取一串字节,选择合适的字符集(一般为本地系统字符集)将字节码翻译为字符集中对应的字符,这些字符一般为本地存储的字符图片,然后调用系统的显示接口将这些“图片”打印在屏幕上。这是字符的“编码”,将字节码转化为可显示的字符。  如果字符的解码和编码采用的是相同的字符集,则将显示出来原始给定的字符,结果正常;如果不是同一种字符集,则有可能会出现乱码(因为相同的字节码在不同的字符集中可能对应不同的字符,一种字符集的某字符解码后的字节码在另一种字符集中编码之后可能是不同的字符)。

为了方便的处理不同字符集编码的字符之间的相互转化,定义了unicode标准,即将世界上所有的字符统一起来,每个字符都分配一个唯一的id,作为该字符的unicode码值。在代码中写定字符或者程序输入字符后,可以先将字符转化为unicode"字符",这是“解码”过程;进行一系列操作之后,如果需要显示出原来的字符,则将unicode"字符"转化为对应的字符集中该字符所对应的字节码,然后找到对应的字符,进而显示。

这样,不同字符集编码就通过unicode"字符"联系了起来。

#直接定义unicode字符串,通过在字符串前加 u 的方式

unicodestring = u"Hello world"

utf8string = '好人' #可以这样直接写,是因为在py文件的开头写了 #encoding=utf-8, 这样在整个py

# 文件中,所有的字符串的编码编码方式都设置为了utf-8

#将某种字符集编码的字符串转化为unicode字符串, 即“解码”

ustring = unicode(utf8string, "utf-8")

ustring # 输出 u'\u597d\u4eba'

print type(ustring) # 输出

#将unicode字符串转化为某种字符集编码的字符串,即“编码”

unicodestring.encode("utf-8")

ustring.encode('utf-8')

print ustring.encode('utf-8') # 输出 好人, 解码到unicode和从unicode编码的字符集相同

print ustring.encode('gbk') #输出乱码 濂戒汉, 解码到unicode和从unicode编码的字符集不同

以上部分为参考网络+自己yy,如果有错误,欢迎指正~

python输出unicode对应字符_python unicode字符串相关推荐

  1. python清洗文本非法字符_Python 文本字符串清理

    文本字符串清理 由于收集来源的问题(比如,表单文本数据录入错误,甚至于有意录入错误的数据),文本字符串往往需要先进行清理才能够在后续的需求中发挥正常且正确的作用. 删除字符串中多余的字符 在文本字符串 ...

  2. python判断是否为数字符_Python判断字符串是否为数字

    Python判断一个字符串是否为数字,可以分为两种情况考虑. 字符为纯数字 如果需要检测的数字为纯数字,不包括负号,小数点等,可以使用字符串的isdigit()函数来判断 >>> a ...

  3. python字符串查找某个字符_python的字符串

    python中字符串是一个重要的数据类型. 字符串是用引号括起来的0个或多个字符,当引号括起来的是0个字符,那就叫空字符串.我们可以定义一个变量,然后将一个字符串赋值给这个变量. 字符串是中的字符是有 ...

  4. python不包含某字符_python正则表达式匹配不包含某几个字符的字符串方法

    python正则表达式匹配不包含某几个字符的字符串方法 一.匹配目标 文件中所有以https?://开头,以.jpg|.png|.jpeg结尾的字符串 二.尝试过程 1) 自然想到正则表达式r'(ht ...

  5. python正则匹配任意字符_Python 匹配任意字符(包括换行符)的正则表达式写法...

    Python 匹配任意字符(包括换行符)的正则表达式写法 想使用正则表达式来获取一段文本中的任意字符,写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现 ...

  6. python 组合数字和字符_python无限生成不重复(字母,数字,字符)组合的方法

    python无限生成不重复(字母,数字,字符)组合的方法 使用python自带的itertools模块 调用其product函数 传入我们想组合生成的字符数据 便会源源不断的生成组合 而且不会重复 r ...

  7. python输出语句print用法_python输出语句print的用法是什么?_后端开发

    python输出语句"print()"是式样化输出函数,用于打印输出."print()"函数会自动换行:printf()函数的语法为:"printf( ...

  8. 统计并输出某给定字符在给定字符串中出现的次数_查找常用字符

    给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 ...

  9. python 强制转换成字符_Python笔记(三)

    来源网络 「往期回顾」 Python笔记(一) Python笔记(二) 「本期内容」 1.用户输入与while循环 2.函数 3.模块 哈喽,各位小伙伴们,大家上午好!话说,你们知道今天是什么日子么? ...

  10. python输出奇数数字序列_python在一串数字中选出奇数-女性时尚流行美容健康娱乐mv-ida网...

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 js 验证 数字 (验证字符 ...

最新文章

  1. 机器学习-线性回归LinearRegression
  2. 通过评估假设行为来学习人类目标
  3. 大数据 防范脱贫人口返贫_男性比女性多出3047万,从人口大数据看,房价会涨还是跌?...
  4. window系统安装redis步骤
  5. 【转载】【FS】FATFS文件系统介绍(未完待续........2018.4.1)
  6. 矩阵的行列sum() Python
  7. linux内核启动后门,Linux下编写隐蔽的自启动回连后门
  8. tc/traffic control 网络控制工具
  9. java web学什么软件_java web开发是什么?该怎么学习?
  10. Redis 学习(二)
  11. java 拼音模糊查询_java 编写模糊查询
  12. 创新企业如何“跨越鸿沟”?
  13. [附源码]SSM计算机毕业设计景区门票系统JAVA
  14. [Python|生信]从Fasta文件出发获取序列的基本信息
  15. mbp适合程序员_听说这两款是最适合程序员编程的电脑
  16. 懒汉延迟加载设计模式反射注解
  17. 300 页图解网络 PDF 下载
  18. 看我是如何跟羊毛党战斗的之我也变成羊毛党
  19. android 百度音乐 api,[新]百度mp3接口(baidu mp3 api)
  20. 机器人工程的工作与考研之困惑“以学生为中心”

热门文章

  1. php嗅探源码,网络嗅探器(含源代码)
  2. txt简谱制作器上线(个人java程序)
  3. 图文左右滚动代码php,jQuery幻灯片左右滚动效果
  4. 从调试数据分析USB通信协议——UVC摄像头【UVC类设备】(五)
  5. EXCEL 宏 拆分数据表 VBA 视频教程下载
  6. word-vba应用
  7. NotePad 常用设置
  8. 计算机桌面文件如何发送给qq好友,桌面文件如何发到qq
  9. java自动化测试_Java自动化测试(一)
  10. iOS简单的登陆界面代码