Python2 之汉字编码为unicode问题(即类似\xc3\xa4)

汉字编码完全解析:国标码、区位码与机内码转换实战 字符编码是计算机处理文本的基础技术,其核心原理是将字符映射为二进制数据。在中文处理领域,GB2312编码体系通过分区管理机制,将汉字按区位编号实现系统化存储。理解编码转换的技术价值在于解决文件乱码、数据库存储异常等实际问题,特别是在处理遗留系统和考试题库时尤为重要。通过区位码、国标码和机内码的数学转换关系,可以掌握字符编码的底层逻辑。本文以Python代码示例演示汉字编码转换的完整实现,帮助技术人员深入理解GB2312编码体系在数据处理和系统开发中的应用场景。 阅读详情

Python2中编码相关的问题很是让人蛋疼,特别是中文字符。
比如本文所述的中文网页GBK编码的诡异问题。

现象

例如:盲录職氓聭聵,其实网页里面正常的应该是会员

分析

接着上面的例子,会员这部分乱码通过repr()函数求值得到如下结果

\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98

使用type()函数求值得到的结果为unicode

eval(repr())出来值为

盲录職氓聭聵

通过查表上述6个汉字对应
c3a4 c2bc c29a c3a5 c291 c298

而上面内容对应的UTF-8值就是会员

解决方法

相当诡异的是本身是unicode编码,却被当作GBK系列来解码,结果导致乱码。因此将这些字符先编码再解决解决问题。
encode('raw_unicode_escape').decode()

GB2312编码转换为UTF-8编码实战指南 简介:在IT领域,字符编码是文本处理的基础。GB2312作为中文简体常用编码,而UTF-8作为Web通用的Unicode编码,广泛应用于多语言环境。本文深入讲解GB2312与UTF-8的编码原理及差异,并提供从GB2312到UTF-8的完整转换流程,涵盖文件读取、编码识别、程序化转换(如Python、VBScript脚本)和网页<meta>标签更新等关键步骤。适用于HTML、ASP、PHP、JSP等网页源码的编码迁移,确保内容正确显示,避免乱码问题 阅读详情

相关推荐

ADS SerDes仿真实战:深入解析Tx_Diff均衡器(EQ)参数对眼图质量的影响

本文以ADS仿真平台为基础,深入解析了SerDes设计中Tx_Diff均衡器(EQ)参数对信号完整性的核心影响。通过实战演示,详细对比了去加重(De-emphasis)与FIR抽头系数两种调节模式,揭示了它们如何有效对抗信道损耗与码间干扰,从而显著改善眼图的高度、宽度与抖动性能,为高速串行链路设计提供关键调优思路。

weixin_29230901的博客 188

python之路金角大王_python 之路,致那些年,我们依然没搞明白的编码

本节内容编码回顾编码转换Python的bytes类型编码回顾在备编码相关的课件时,在知乎上看到一段关于Python编码的回答这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有一天它会猝不及防坑你一把。不过感觉这哥们的答案并没把编码问题写明白,所以只好亲自动笔了。折腾编码问题,有很多次,我以为自已明白了,最终发现,那只不过是自圆其说而已,这一次,终于100%确定,动笔即不再改!看这篇文...

weixin_28972665的博客 311

远程桌面连接失败?手把手教你解决CredSSP加密Oracle漏洞(Win10/Win11通用)

本文详细解析了Windows远程桌面连接因CredSSP加密Oracle漏洞安全更新导致的“身份验证错误”问题。文章从原理入手,提供了通过组策略编辑器(适用于专业版)和注册表编辑器(适用于家庭版)两种核心解决方案,指导用户将安全策略调整为推荐的“缓解”模式,以在保障安全的前提下恢复连接,并给出了高级脚本处理与安全最佳实践。

u6v7w8x的博客 696

Python 类似 SyntaxError: Non-ASCII character '\xc3' in file

Python 类似 SyntaxError: Non-ASCII character '\xc3' in file 产生这个问题的原因: python 的默认编码文件是ACSII,而编辑器将文件保存为UTF-8格式的,只要文件中存在非ACSII 例如中文,就会产生该问题。 解决方法: 需要在文件第一行加入 # -*-coding:UTF-8 -*- 或者 #coding=utf-8 ...

DarrenXf的专栏 1682

字符编码与文件的基本操作

字符编码与文件的基本操作1 > 字符编码的实际应用1.1 > 编码与解码含义1.2 > 编码(encode)1.3 > 解码(decode)1.4 > 如何解决乱码的问题1.5 > python解释器层面1.5.1 > python2解释器方面:1.5.1 - 1> 文件头1.5.1 - 2> 字符前缀1.5.2 > python3解释器方面:2 > 文件操作简介2.1 > 文件的含义2.2 > 打开文件的语法结构2.3 >

weixin_64178950的博客 2364

python3常见中文乱码解决

日常工作中,常常遇到一些乱码,小记一下: 乱码一:python不能将汉字的bytes直接输出汉字,需要转换成Unicode,然后用print输出: str = b'\xc7\xeb\xca\xb9\xd3\xc3\xca\xda\xc8\xa8\xc2\xeb\xb5\xc7\xc2\xbc\xa1\xa3\xcf\xea\xc7\xe9\xc7\xeb\xbf\xb4' print(str...

xiaochun730的博客 1万+

Python 基础篇】转义字符汇演

在《Python字符串》一节中我们曾提到过转义字符,就是那些以 反斜杠\ + 字符'x'开头的字符。 ASCII 编码为每个字符都分配了唯一的编号,称为编码值。在Python中,一个 ASCII 字符除了可以用它的实体(也就是真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。 转义字符以\0或者\x开头,以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值,Python 中的转义字符只能使用八进制...

那么菜的博客 3375

GB2312、UTF-8、UCS-2编码对照表:解决中文乱码的终极指南

字符编码是计算机存储和处理文本的基础,它定义了字符与二进制数字之间的映射关系。其核心原理在于为每个字符分配一个唯一的数字标识(码点),不同的编码方案则决定了这些码点如何转换为字节序列进行存储和传输。理解编码原理具有极高的技术价值,它是确保数据在不同系统、平台和应用程序间正确交换与显示的关键,能从根本上解决乱码问题,保障信息的完整性与一致性。在实际应用场景中,无论是处理遗留系统的GB2312编码数据、配置现代开发环境的UTF-8支持,还是进行跨平台的数据迁移与清洗,掌握编码对应关系都是不可或缺的技能。本文聚焦

weixin_30785593的博客 386

python用的什么编码_python,编码_这是什么编码,如何解码,python,编码 - phpStudy

这是什么编码,如何解码b'\x08\x91\x9a\x8c\xb0\x01\x10\x86\x01\x1a\x0fiPhone OS 9.2.1"\x80\x04\x8f\x05\x18\xa8\xdf\xaf_\xe7\x0c\xfc\x92\xd9\xbe\x98\xb7\x88\x88| \xe2\xccX\xb3lw[\xf2\x12x\xed^\xd5\xcaO\x11\x8d\x02\...

weixin_39668408的博客 3142

python基础语法四】python对文件的操作

python 对文件的读写操作

monoplasty的博客 1047

python转码总结

python返回字符串中有些是乱码 如下列情况: 第一种情况: s = "'D:\\\xc9\xfa\xcc\xac\xc8\xbaAPP\\\xc4\xdc\xc1\xa6\xd6\xd0\xcc\xa8\\G4-G5 \xbf\xaa\xb7\xa2\xb2\xe2\xca\xd4\\04 \xb2\xe2\xca\xd4\xd3\xc3\xc0\xfd\\06\xd7\xd4\xb6\xaf\xbb\xaf\xb2\xe2\xca\xd4\xd3\xc3\xc0\xfd\\Test_Case\\

zhichuan0307的博客 2181

python中怎么处理unicode字符

Python 中,可以使用内置的 unicode 类型来表示 Unicode 字符。 你可以用字符串前缀 u 来表示一个字符串是 Unicode 字符串: >>> s = u'Hello, World!' >>> type(s) <type 'unicode'> 也可以使用 Python 的内置函数 ord 和 unichr 来处理 Unico...

weixin_35756892的博客 1397

基于Python的文件操作之第1课读文件

掌握基于python对文件相关操作 每种格式包含很多相关操作,学习只要掌握知识点的用法,参考笔记可以实现相关的练习即可,不必背会,在企业开发过程中边搜实现。 1.1函数的定义,定义了一个功能模块,调用函数。 1.2函数有什么作用,对公共代码块进行封装,实现代码可重用。 1.3函数有两种类型,内置函数len计算长度, 内置函数进制之间的转换,bin,oct,hex 自定义函数。 内置模块,python内部提供的。 第三方模块,网上下载别人写好的模块(功能集合) 自定义模块,自己写的。 ......

Candy5204的博客 2万+

python \xc2\x8c50\xc3\转汉子

a = '\xe4\xb8\xad\xe5\x9b\xbd' aa = a.encode('raw_unicode_escape') print(aa) # 结果:b'\xe4\xb8\xad\xe5\x9b\xbd' aaa = aa.decode() print(aaa) #结果 中国 转载于:https://www.cnblogs.com/chai...

weixin_30301449的博客 974

python3中将'\xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee'转成中文

近日调试程序出现一场,返回如下代码 s="\xb2\xbb\xca\xc7\xc4\xda\xb2\xbf\xbb\xf2\xcd\xe2\xb2\xbf\xc3\xfc\xc1\xee\xa3\xac\xd2\xb2\xb2\xbb\xca\xc7\xbf\xc9\xd4\xcb\xd0\xd0\xb5\xc4\xb3\xcc\xd0\xf2\r\n\xbb\xf2\xc5\xfa\xb4\...

babytiger的专栏 1万+

python去掉 unicode 字符串前面的 u

有时我们会碰到类似下面这样的 unicode 字符串:u'\xe4\xbd\xa0\xe5\xa5\xbd'这明显不是一个正确的 unicode 字符串,可能是在哪个地方转码转错了。我们要想得到正确的 unicode 字符串首先就必须先将这个字符串转成非 unicode 字符串, 然后再进行解码。按照普通的办法进行 encode 肯定是不行的,因为这不是一个正确的 unicode 字符串:In [1

3569 1万+

Python去除特殊字符\xa0、u'\xe4

有时我们会碰到类似下面这样的 unicode 字符串: u'\xe4\xbd\xa0\xe5\xa5\xbd'   这明显不是一个正确的 unicode 字符串,可能是在哪个地方转码转错了。 我们要想得到正确的 unicode 字符串首先就必须先将这个字符串转成非 unicode 字符串, 然后再进行解码。按照普通的办法进行 encode 肯定是不行的,因为这不是一个正确的 unicode...

Circle-C的博客 7844

解决pycharm中中文列表输出'\xe5\xa4\xa7\xe8\x92\x9c'之类的字符串

#coding=utf-8 member=["贝贝","晶晶","欢欢"] print(member) print("北京欢迎您!") 如上代码块,结果输出为: [‘\xe8\xb4\x9d\xe8\xb4\x9d’, ‘\xe6\x99\xb6\xe6\x99\xb6’, ‘\xe6\xac\xa2\xe6\xac\xa2’] 北京欢迎您!该怎么解决以上pycharm中的中文列表输出的编码问题

wqy94103的博客 2万+

\xE5\xA4\xA7\xE4\xB8\x80...' for column 'name' at row 1 mysql报错。解决方法。

是因为数据库表的编码格式不对造成的,打开mysqlworkben找到对应的表,修改其编码格式为“utf8”之后,问题即可解决!图一的字符集不对。选中名字后可以看见是latin1.修改成utf-8即可。 a...

Txwtech 4515
上一篇: Requests 之Max retries exceeded with url[Errno 10054]错误新解
下一篇: Matplotlib绘制动画
mighty13
博客等级 码龄23年 727粉丝 438原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值