1. encode

2. decode

3. encode('raw_unicode_escape')和 decode('raw_unicode_escape')

4. encode('unicode-escape')和 decode('unicode-escape')

5. python2使用ASC11码作为默认编码方式, python3的默认编码为utf-8

编码和解码 :

1. encode

encode将字符串转换为bytes类型的对象 (即b为前缀, bytes类型), 即Ascll编码, 字节数组

>>> a0 = '哈哈'
>>> b = a0.encode()
>>> type(b)
<class 'bytes'>
>>>
>>> b
b'\xe5\x93\x88\xe5\x93\x88'

2. decode

字节编码可decode为str

>>> a1 = b'\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'
>>> b = a1.decode()
>>> b
'王者农药'
>>> type(b)
<class 'str'>

3. encode('raw_unicode_escape')和 decode('raw_unicode_escape')

若某字符串的内容为bytes形式, 如 a = '\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'

可使用encode('raw_unicode_escape')将此str转化为bytes, 再decode为str

可使用decode('raw_unicode_escape')输出内容为bytes形式的字符串

>>> a = '\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'
>>> b = a.encode('raw_unicode_escape')
>>> type(b)
<class 'bytes'>
>>> b
b'\xe7\x8e\x8b\xe8\x80\x85\xe5\x86\x9c\xe8\x8d\xaf'
>>>
>>> b.decode()
'王者农药'
>>>
>>> b.decode('raw_unicode_escape')
'ç\x8e\x8bè\x80\x85å\x86\x9cè\x8d¯' 

4. encode('unicode-escape')和 decode('unicode-escape')

若某字符串的内容为unicode形式, 如s = '\u5403\u9e21\u6218\u573a', 在py3中默认为utf-8编码, py3将其自动解释为 '吃鸡战场'

encode('unicode-escape')可将此str编码为bytes类型, 内容则是unicode形式

decode('unicode-escape')可将内容为unicode形式的bytes类型转换为str

>>> a = '\u5403\u9e21\u6218\u573a'
>>> b = a.encode('unicode-escape')
>>> type(b)
<class 'bytes'>
>>> b
b'\\u5403\\u9e21\\u6218\\u573a'
>>>
>>> b.decode('utf-8')
'\\u5403\\u9e21\\u6218\\u573a'
>>>
>>>
>>> c = b.decode('utf-8')
>>> c
'\\u5403\\u9e21\\u6218\\u573a'
>>>
>>> c.encode()
b'\\u5403\\u9e21\\u6218\\u573a'
>>>
>>> c.encode().decode('unicode-escape')
'吃鸡战场'

5. python2使用ASC11码作为默认编码方式, python3的默认编码为utf-8

Python 2.7.16 (default, Aug 24 2019, 18:37:03)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> s = u'\u5403\u9e21\u6218\u573a'
>>> s
u'\u5403\u9e21\u6218\u573a'Python 3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> s = u'\u5403\u9e21\u6218\u573a'
>>> s
吃鸡战场 

Python3 encode中的unicode-escape和raw_unicode_escape相关推荐

  1. python encode函数_关于字符串:在python中使用unicode()和encode()函数

    我在对路径变量进行编码并将其插入到sqlite数据库时遇到问题.我试图用没有帮助的编码("utf-8")函数来解决这个问题.然后我使用了unicode()函数,它给了我unicod ...

  2. python2中的unicode_python2中的unicode()函数在python3中会报错:

    python2中的unicode()函数在python3中会报错:NameError: name 'unicode' is not defined There is no such name in P ...

  3. python unicode函数_python 中的unicode详解

    通过例子来看问题是比较容易懂的. 首先来看,下面这个是我新建的一个txt文件,名字叫做ivan_utf8.txt,然后里面随便编辑了一些东西. 然后来用控制台打开这个文件,同样也是截图: 这里就是简单 ...

  4. 使用T-SQL管理数据中的Unicode字符

    In this article, I'll provide some useful information to help you understand how to use Unicode in S ...

  5. 在VB6.0中怎么实现escape和unescape

    两套方案,一是调用JAVAscript对象,二是自己写代码编码与解码,代码在CSDN中的以下帖子里贴出: 方案一代码: 复制内容到剪贴板 程序代码 Function Escape(ByVal pstr ...

  6. python将str写入csv_【python3】中str转成bytes类型后用csv.writerow()写入csv文件仍然出错...

    根本原因是Python版本问题python2.x中要求用'wb',python3.x中要求用'w' 首先声明:CSV文件是可以用二进制模式写入的 python文档(传送门)关于CSV的一个用法示例: ...

  7. python3.7中RSA加密遇到的问题

    python3.7中RSA加密遇到的问题 对于网络上有很多python3.7中RSA加密代码,一般都是生成公钥或者私钥,测试接口的时候公司一般会规定要使用的公钥,则代码就会报错拿登录接口测试举例: 1 ...

  8. Python3爬虫中Splash的知识总结

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  9. 在Python3.4中实现opencv3.1.0的安装配置

    写本篇之前查了好多文章,但是由于python基本都是基于2.7.opencv都是基于2.x的,所以许多方法并不适用,以致于浪费了两三个小时.这里对python3.x中怎样使用opencv3.x进行了总 ...

  10. python返回unicode_Python 中通过 unicode 码返回单字符的函数是 ,返回单字符 unicode 码的函数是 。_学小易找答案...

    [单选题]哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行?( ) [单选题]修改以太网卡mac地址的命令为( ). [单选题]Python 字符串支持切片操作,如有字符串 s &quo ...

最新文章

  1. 0,1,2,3,2,1,0,1,2,3,2,1,0,...
  2. Clojure 入门
  3. JavaSE学习53:细说多线程之内存可见性
  4. leetcode 66. 加一(C语言)
  5. POJ 1671 第二类斯特林数
  6. php单文件压缩的功能函数的实现
  7. python 3.6 tensorflow_无法在python 3.6中导入Tensorflow
  8. 数据结构——堆的C语言实现
  9. MySQL常用函数 一
  10. android新对象锁,Android的线程和对象锁定
  11. 被request.getLocalAddr()苦闷了很久
  12. 一个极其微小的优化想法
  13. LaTeX 消除字Font shape `OMX/cmex/m/n‘ in size <10.53937> not available (Font) size <10.95> substituted.
  14. 微信小程序数据懒加载
  15. 史上最怪异的几大数据中心事故
  16. PC端的网站建设真的已经不重要了吗
  17. mysql我没压岁钱了,你压没压我?岁没岁我?该不该给我压岁钱表情包
  18. Kyndryl从IBM完全剥离在纽交所独立上市;新思科技收购AI驱动性能优化软件企业Concertio | 全球TMT...
  19. Github无法访问解决方法
  20. STATA 学习笔记 :相关系数

热门文章

  1. 在码云上如何创建仓库
  2. Android Java编写布局
  3. 第六步_安装SSH服务
  4. Linux驱动设置log打印开关
  5. Android系统中属性值的设置和使用
  6. centos6.9下rpm方式安装mysql后mysql服务无法启动
  7. python 字符串 string模块导入及用法
  8. UVa 10883 超级平均数(二项式系数+对数计算)
  9. 没事学学docker(三):配置阿里云镜像加速以及解决docker起不来的问题
  10. CocosCreator简单小鸟穿越隧道小游戏