返回顶部
首页 > 资讯 > 后端开发 > Python >python中的编码和解码及\x和\u问题
  • 633
分享到

python中的编码和解码及\x和\u问题

2024-04-02 19:04:59 633人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录编码和解码及\x和\u问题python解析 \x 和 \u "乱码"Python2.7解析方法python3解析方法编码和解码及\x和\u问题 “

编码和解码及\x和\u问题

“字符在内存里的表示是unicode,如果要存盘或者发到网络就经过utf-8,然后对端收到依次解码。”

Python 3里面,str在内存里是unicode表示的

‘中文’ == ‘\u4e2d\u6587’

'中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
 '\u4e2d\u6587'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'

1个汉字用unicode表示一般是2个byte,

例如:

‘中’=\u4e2d(十六进制写法【即2bytes】)

'A'.encode('ascii')
>>>b'A'
('\u0041').encode('ascii')
>>>b'A'
'A'.encode('utf-8')
>>>b'A'

note: b’A’和’A’

在python 3中

b’A’是ascii编码的01010101的字节,占1个byte;

'A‘是在内存里按unicode形式编码的/ucc,占的是2个byte。

unicode编码后是bytes,如果这个字节范围不在ascii的表示范围内,就会显示成\x(十六进制形式)

例如:

  • 汉字编码成bytes,去查看这个bytes肯定只能看到\x系列,因为这个bytes的内容肯定不在ascii范围内;
  • 英文编码成bytes可以看到对应的英文字母,本质上它还是没有含义的010101的字节流而不是字符。
"abc".encode('utf-8')
b'abc'
'中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
1个汉字,按utf-8编码,一般是3个bytes,\xe4是十六进制表示的1个byte。

相同的英文字符,ascii编码和utf-8编码的结果是一致的,因为这两种编码都使用一个byte表示一个英文字符

'abc'.encode('ascii').decode('utf-8')
'abc'

可以用一个编码然后再另一个解码,是可以成功还原的。但一般是不会这么做的。

ord函数获取字符的整数表示和chr数把编码转换为对应的字符

 ord('A')
65
ord('中')
20013
chr(66)
'B'
chr(25991)
'文'

对str和对bytes用len,意义是不同的。

len(str)统计字符数,len(bytes)统计bytes数

>>> len('中文')
2
 len(str)统计字符数
>>> bt1 = '中文'.encode('gb2312')
>>> bt2 = '中文'.encode('utf-8')
>>> bt1
b'\xd6\xd0\xce\xc4'
>>> bt2
b'\xe4\xb8\xad\xe6\x96\x87'
>>> len(bt1)
4
>>> len(bt2)
6

以Unicode表示的str通过encode()方法可以编码为指定的bytes

python解析 \x 和 \u "乱码"

参数错误

\xe5\x8f\x82\xe6\x95\xb0\xe6\x9c\x89\xe8\xaf\xaf  

今日已经完成过此任务,请明日再做此任务吧!

\u4eca\u65e5\u5df2\u7ecf\u5b8c\u6210\u8fc7\u6b64\u4efb\u52a1\uff0c\u8bf7\u660e\u65e5\u518d\u505a\u6b64\u4efb\u52a1\u5427!

python2.7解析方法

>>> print(u'\xe5\x8f\x82\xe6\x95\xb0\xe6\x9c\x89\xe8\xaf\xaf  '.encode('unicode_escape').decode('string_escape')) 
>>>print('\u4eca\u65e5\u5df2\u7ecf\u5b8c\u6210\u8fc7\u6b64\u4efb\u52a1\uff0c\u8bf7\u660e\u65e5\u518d\u505a\u6b64\u4efb\u52a1\u5427!'.decode('unicode_escape'))

python3解析方法

>>>('\xe5\x8f\x82\xe6\x95\xb0\xe6\x9c\x89\xe8\xaf\xaf  '.encode('raw_unicode_escape')).decode()
>>>'\u4eca\u65e5\u5df2\u7ecf\u5b8c\u6210\u8fc7\u6b64\u4efb\u52a1\uff0c\u8bf7\u660e\u65e5\u518d\u505a\u6b64\u4efb\u52a1\u5427!'

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python中的编码和解码及\x和\u问题

本文链接: https://lsjlt.com/news/118172.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python中的编码和解码及\x和\u问题
    目录编码和解码及\x和\u问题python解析 \x 和 \u "乱码"python2.7解析方法python3解析方法编码和解码及\x和\u问题 “...
    99+
    2024-04-02
  • Python 3.x中的编码和解码问题
    最近在极客学院学习爬虫,老师用的是2.x版本,而我电脑里的版本是3.x,于是在网页上查找在输出中文时如何正确输出。 我原以为2.x 3.x在很多语法上没什么区别,在解码decode上应该也差不多,没想到竟然发现,很多博客提到2....
    99+
    2023-01-31
    Python
  • Python2.x的编码问题
    好像写Python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述)但是,字符串编码是经常要面对的问题,不可不察. Unicode与各种编码格式 我的理解是:Unico...
    99+
    2023-01-31
  • python中文编码乱码问题的解决
    目录前言:一、什么是字符编码。1.ASCII2.GB23123.Unicode4.UTF-8二、Python2中的字符编码三、decode()与encode()方法四、一个字符编码的...
    99+
    2024-04-02
  • Python中的编码问题
    视频汇总首页:http://edu.51cto.com/lecturer/index/user_id-4626073.html对于Python的初学者来说,编码问题相当令人头疼。本文就根据我在学习过程中遇到的问题简单谈一下Python中的编...
    99+
    2023-01-31
    Python
  • Python2.x版本中基本的中文编码问题解决
    Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题。 Python 文件中如果未指定编码,在执行过程会出现报错: #!/u...
    99+
    2022-06-04
    中文 版本
  • 详解python中文编码问题
    目录 1.        在Python中使用中文1.1     Windows控制台1.2     Wi...
    99+
    2022-06-02
    python中文编码 python 编码
  • Python中文编码问题
        近日用Python写一个小程序,从数据库(MS SQL)中读取数据,对数据进行组织后发送到邮箱,在数据内容有中文的地方始终报错,汉字使用UTF-8进行编码倒是不报错了,但发送到邮箱的内容,从数据库中读取出来的汉字却成乱码了,经多方查...
    99+
    2023-01-31
    中文 Python
  • 如何解决Java编码及网络传输中的编码问题
    这篇文章给大家介绍如何解决Java编码及网络传输中的编码问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。近来试着FTP搜索,遇到编码问题,研究了下。Java内部的String为Unicode编码,每个字符占两个字节。...
    99+
    2023-06-17
  • python如何解决中文编码乱码问题
    小编给大家分享一下python如何解决中文编码乱码问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、什么是字符编码。要彻底解决字符编码的问题就不能不去了解到底...
    99+
    2023-06-25
  • 浅谈编码,解码,乱码的问题
    在开发的过程中,我们不可避免的会遇到各种各样的编码,解码,或者乱码问题,很多时候,我们可以正常的解决问题,但是说实在的,我们有可能并不清楚问题到底是怎么被解决的,秉承知其然,更要知其所以然的理念,经过一番研...
    99+
    2022-06-04
    乱码 浅谈
  • python密码学Base64编码和解码的方法
    本文小编为大家详细介绍“python密码学Base64编码和解码的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“python密码学Base64编码和解码的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。B...
    99+
    2023-06-30
  • PHP开发中如何调试和解决编码问题
    在PHP开发过程中,经常会遇到编码问题,如乱码、字符转义等。这些问题的出现会导致页面显示异常,给用户带来困扰,因此及时发现和解决编码问题是非常重要的。本文将介绍PHP开发中常见的编码问题,并提供具体的代码示例来解决这些问题。一、中文乱码问题...
    99+
    2023-10-21
    调试 解决 编码问题
  • PHP开发中如何调试和解决编码和字符问题
    在PHP开发过程中,编码和字符问题是常见的挑战之一。当我们遇到乱码、字符截断或者非预期字符输出等问题时,我们需要快速定位并修复这些问题。本文将介绍一些调试和解决编码和字符问题的常用方法,并提供具体的代码示例。使用header()函数设置网页...
    99+
    2023-10-21
    调试 编码问题 字符问题
  • Golang中XML数据的编码和解码方法及应用
    Golang中XML序列化和反序列化的方法及应用 在Golang中,XML是一种常用的数据格式,用于在不同系统之间传递和存储数据。在处理XML数据时,我们通常需要进行序列化和反序列化的操作,将数据转换成XML...
    99+
    2024-01-29
    方法 Golang 序列化 xml 反序列化
  • 编码和Python的bytearray
    unicode    是  编码规范          ===》 http协议GBK UTF-8  是 字符集  编码方法   ===》 Apache  nginxPython 3.Xbytes 和 str 的区别在于bytes是byte的...
    99+
    2023-01-31
    Python bytearray
  • python密码学Base64编码和解码教程
    目录Base64编码编码程序输出解码程序输出差异在ASCII和base64之间缺点Base64编码 Base64编码将二进制数据转换为文本格式,通过通信通道传递,用户可以安全地处理文...
    99+
    2024-04-02
  • python编码和解码的方法是什么
    Python提供了多种编码和解码的方法。以下是一些常用的方法:1. encode():用于将字符串编码为指定的编码格式。例如,可以使...
    99+
    2023-09-16
    python
  • 解决python3 中的np.load编码问题
    由于在Python2 中的默认编码为ASCII,但是在Python3中的默认编码为UTF-8。 问题: 所以在使用np.load(det.npy)的时候会出现错误提示: you m...
    99+
    2024-04-02
  • Python中的字节编码和解码技巧有哪些?
    Python中的字节编码和解码技巧有哪些?字节编码和解码是我们在处理文本数据时常常遇到的问题。在Python中,有许多内置的函数和模块可以帮助我们进行字节编码和解码操作。本文将介绍几种常见的字节编码和解码技巧,并给出相应的代码示例。使用en...
    99+
    2023-10-22
    技巧 解码 字节编码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作