Python中不熟悉的编码

2024-06-28 14:27:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python创建一个二进制转换器,但是遇到了一些奇怪的代码:

>>> print '\x97'
—
>>> print '\x96'
–
>>> print '\x94'
”
>>> print '\x95'
•

那个编码叫什么?在


Tags: 代码编码二进制print试图用x97x95x94
2条回答

那将是十六进制编码。它意味着使用十六进制值97,它是十进制的151,并在字符串中使用该字符。在

字符151是em破折号,150是en破折号,148是结束双引号,149是要点,如here所示,记住这些字符是不是Unicode代码点(如上所述),而是Windows code page字符。在

该编码可以是九种Windows单字节“ANSI”编码中的任何一种,cp1250到{},包括:

>>> guff = "\x97\x96\x94\x95"
>>> uguff0 = guff.decode('1250')
>>> all(guff.decode(str(e)) == uguff0 for e in xrange(1251, 1259))
True

用法:

1250:带有拉丁字母的中欧/东欧语言,例如波兰语、捷克语、斯洛伐克语、匈牙利语
1251:西里尔字母,例如俄语
1252:带有拉丁字母的西欧语言
其他是土耳其语、希腊语、希伯来语、阿拉伯语和越南语的单一语言编码。在

要了解计算机上正在使用的内容:

^{pr2}$

代码的意思是:

>>> from unicodedata import name
>>> for c in uguff0:
...     print repr(c), name(c)
...
u'\u2014' EM DASH
u'\u2013' EN DASH
u'\u201d' RIGHT DOUBLE QUOTATION MARK
u'\u2022' BULLET
>>>

相关问题 更多 >