关于网友提出的“使用python如何得到此种编码所对应的中文呢”问题疑问,本网通过在网上对“使用python如何得到此种编码所对应的中文呢”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:使用python如何得到此种编码所对应的中文呢
描述:整理了以下几种编码:
编码1:测试
编码2:\u6d4b\u8bd5
编码3:测试
编码4:%e6%b5%8b%e8%af%95
在编程过程中,经常会碰到很多的编码格式的数据,现在自己对于N多的编码格式还是一头雾水。
不知道大家是怎么准确识别各种编码的呢?
另外:使用python如何得到此种编码测试
所对应的中文呢?
解决方案1: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
测试
解决方案2:余兴节目。
前三个都是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中不能直写字符的转义表示法。
以上介绍了“使用python如何得到此种编码所对应的中文呢”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1530800.html