## str 我们平时写的用引号括起来的字符串都是str类型的。

>>> x = '哈哈'

>>> x

'\xb9\xfe\xb9\xfe'

### 根据上面的打印结果,可以知道str类型的x存的其实是二进制序列,而非字符串。为什么会出现这种情况呢?我们赋给x的明明是字符串。

其实很简单,x经过了一次隐形的编码过程encode()。应该采用的是系统默认编码方案。

## unicode 如果在引号的前面加上字符u,那么我们就得到一个unicode字符串:

>>> x = u'哈哈'

>>> x

u'\u54c8\u54c8'

### unicode对象保存的是字符串本身,而非二进制序列。比如程序中的unicode字符串中包含两个U+54c8字符。

### 为了避免错误,在写入文件之前,应该用utf-8或者gbk编码方案对unicode字符串编码

>>> x = u'哈哈'

>>> x

u'\u54c8\u54c8'

>>> f = open('test.txt', 'w');

>>> x = x.encode('utf-8') #unicode -> str

>>>x

'\xe5\x93\x88\xe5\x93\x88'

>>> f.write(x)

Unicode strings can be encoded in plain strings in a variety of ways, according to whichever encoding you choose:

Unicode字符串可以用多种方式编码为普通字符串, 依照你所选择的编码(encoding):

1 #将Unicode转换成普通的Python字符串:"编码(encode)"

2 unicodestring = u"Hello world"

3 utf8string = unicodestring.encode("utf-8")

4 asciistring = unicodestring.encode("ascii")

5 isostring = unicodestring.encode("ISO-8859-1")

6 utf16string = unicodestring.encode("utf-16")

7

8

9 #将普通的Python字符串转换成Unicode: "解码(decode)"

10 plainstring1 = unicode(utf8string, "utf-8")

11 plainstring2 = unicode(asciistring, "ascii")

12 plainstring3 = unicode(isostring, "ISO-8859-1")

13 plainstring4 = unicode(utf16string, "utf-16")

14

15 assert plainstring1==plainstring2==plainstring3==plainstring4

python编码转换在线_Python字符编码转换Unicode和str相关推荐

  1. 字符编码在python中的处理_python 字符编码处理问题总结

    Python中常常遇到这种字符编码问题,尤其在处理网页源代码时(特别是爬虫中): UnicodeDecodeError: 'XXX' codec can't decode bytes in posit ...

  2. 字符编码在python中的处理_Python 字符编码处理总结

    Python中经常遇到这样那样的字符编码问题,尤其在处理网页源码时(特别是爬虫中): UnicodeDecodeError: 'XXX' codec can't decode bytes in pos ...

  3. Python中的字符串与字符编码:编码和转换问题

    原文转载自:http://www.cnblogs.com/yyds/p/6171340.html 读后感:最近在跑实验,对于中文编码问题一直感到困扰,读完这篇文章以后,了解了Unicode编码的一些信 ...

  4. Linux 命令之 iconv -- 转换文件的字符编码

    文章目录 一.命令介绍 二.命令语法 三.常用选项 四.命令示例 (一)对指定文件进行转码,且输出到指定的文件中 一.命令介绍 iconv 命令是 Linux 系统自带的用于转换文件编码的命令行工具, ...

  5. python2发送http不编码_[转]Python 2.x中常见字符编码和解码方面的错误及其解决办法...

    Python 2.x中的字符编码,设计的的确不好,导致初学者,甚至是即使用Python很长时间的人,都会经常遇到字符编解码方面的错误. 下面就把一些常见情,尽量的都整理出来,并给出相应的解决办法. 看 ...

  6. Python中的字符串与字符编码

    本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章. ...

  7. c语言字符串用for语句去重,python简介、第一个python程序、变量、字符编码、用户交互程序、if...else、while、for...

    也愿大家永葆初心-- 已识乾坤大,犹怜草木青. 一.python简介 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算 ...

  8. html标签转换字符类型,java把html标签字符转换成普通字符(反转换成html标签)

    package net.jasonjiang.web; import org.junit.Test; import org.springframework.web.util.HtmlUtils; /* ...

  9. PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的。 检查Oracle服务器端字符编码,用 sel

    PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编码 和 Oracle 客户端 字符编码不一致引起的. 检查Oracle服务器端字符编码,用 select ...

最新文章

  1. php 连接mysql 错误排查一例
  2. 数字语音信号处理学习笔记——语音信号的数字模型(3)
  3. Zigbee协议栈中OSAL的运行机理
  4. 两人团队项目-石家庄地铁查询系统(web版)
  5. win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
  6. android 页面整体滑动,ScrollView 实现页面整体滑动
  7. VM虚拟机连Linux黑屏问题
  8. vbs调用c++dll_COM编程攻略(八 动态调用与IDispatch接口)
  9. 【Java从0到架构师】SpringMVC - RESTful
  10. InDesign 教程如何新建文档?
  11. 【查缺补漏 | JAVA 基础知识 | 粗略复习②】
  12. 【bzoj2242】计算器 离散对数
  13. wine qq2011beta4
  14. NVI(Non-Virtual Interface )
  15. 电脑主板有哪几种结构?
  16. 揭秘史上最烂开发项目:苦撑12年,600万+行代码!
  17. 沉痛悼念张孝祥老师逝世
  18. 主成分分析实战篇:南极考察站检测数据降维
  19. 【云安全】云计算中常见的网络虚拟化
  20. 【SQL】leetcode 584.寻找用户推荐人(知识点:SQL的三值逻辑)

热门文章

  1. 十个最值得推荐的英语学习网站
  2. 【栖梧-源码-spring】@Bean从解析到注册到beanDefinitionMap
  3. 测试性格软件的原理,《心理测验的原理与应用》.pdf
  4. 青软实训 Oracle实训完整代码
  5. 从题目分析中获得了一些对SOA的新理解
  6. LDA主题模型系列(二)求解之Gibbs采样
  7. 微型计算机的电流,微机综合验证保护系列设备
  8. C#实现DES加密解密
  9. linux中ls l wc,linux wc命令有什么用
  10. 使用fastdfs搭建文件管理微服务