玩蛇网提供最新Python编程技术信息以及Python资源下载!

类似测&#35797这种编码如何用python转换成汉字

整理了以下几种编码

编码1测试

编码2\u6d4b\u8bd5

编码3测试

编码4%e6%b5%8b%e8%af%95

在编程过程中,经常会碰到很多的编码格式的数据,现在自己对于N多的编码格式还是一头雾水。
不知道大家是怎么准确识别各种编码的呢?
另外:使用python如何得到此种编码测试所对应的中文呢?

余兴节目。

前三个都是Unicode原始值,最后一个是UTF-8。简单的用Python说明一下:

>>> s=b'\xe6\xb5\x8b\xe8\xaf\x95'
>>> print(s.decode('utf-8'))
测试
>>> u=u'\u6d4b\u8bd5'
>>> print(u)
测试

每个Unicode字符的编码只有一个,表示为一个或长或短的十六进制数。但把一串Unicode转换成真正用于存储和传输的字节序列,办法很多。UTF-8就是使用最广泛(绝大多数情况下也应该使用)的一种Unicode编码方法。

至于格式的不同,只是用的地方不一样,用不同的格式封一下。我记得编码1和3是HTML实体,2是Python的Unicode字符表示法,4是URL中不能直写字符的转义表示法。

1 和 3 是HTML实体,可以通过标准库HTMLParser 来解析:

#coding=utf8

import HTMLParser

parser = HTMLParser.HTMLParser()
s1 = parser.unescape('测试')
print s1
# output: 测试
s2 = parser.unescape('测试')
print s2
# output: 测试 

2 是unicode 字面值,要想获得真正的unicode,可以这样做:

In [1]: u = unicode('\u6d4b\u8bd5', 'unicode_escape')
In [2]: u
Out[2]: u'\u6d4b\u8bd5'
In [3]: print u
测试

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19928.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月14日 - 12时25分59秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules