这是什么编码?

6

我该如何确定这个字符串的编码方式?

Sometimes, it’s the little things that make us the happiest.
1个回答

19

这是UTF-8解码后用Latin-1编码,再用UTF-8解码后用CP1252解码的结果。

>>> u'’'.encode('cp1252').decode('utf8').encode('latin1').decode('utf8')
u'\u2019'

说真的... 谁会这样做呢?


9
你是怎么想到这个的? - Lèse majesté
1
此外,它使用了排版上正确的右单引号代替显然应该是一个撇号的符号。 - hobbs
1
@Lèse -- UTF-8双重编码具有商标:因为128-255范围内的字符的UTF-8编码以0xc0到0xc3开头,所以会出现许多U+00C0到U+00C3(各种带重音的大写A)字符的出现。 - hobbs
1
@hobbs:啊,现在我知道要注意什么了。我总是看到编码不好的网页,但有些我无法通过更改编码在浏览器中正确呈现。也许这些是双重/三重编码的。 - Lèse majesté
1
@Webnet:我不得不使用两个iconv()调用,一个从UTF-8转换为CP1252,另一个从UTF-8转换为ISO8859-1。 - Ignacio Vazquez-Abrams
显示剩余10条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接