在python中解码字符串

时间:2013-06-13 23:09:03

标签: python encoding

我有以下字符串:

u"examined by other children\u2014particularly the children of George MacDonald."

但我找不到解码它的方法。 python需要什么编码器/解码器。还有很多“\ n \ nOn”领先\ n我想删除。我试过string.decode(“utf-8”)

  

TypeError:'unicode'对象不可调用

编辑:

这是来自维基百科的爱丽丝梦游仙境的较大段落:

  

u'BackgroundAlice于1865年出版,三年后出版   牧师Charles Lutwidge Dodgson和Reverend Robinson Duckworth牧师   1862年7月4日在一艘船上划船,[4]与三个年轻人一起在伊希斯上空划船   Henry Liddell的女儿们(牛津大学副校长)   和基督教会的院长):Lorina Charlotte Liddell(13岁,出生   1849年)(本书前言中的“Prima”); Alice Pleasance   Liddell(10岁,1852年出生)(前言中的“Secunda”);伊迪丝   Mary Liddell(8岁,1853年出生)(前言中的“Tertia”)。   [5] \ n \ n旅程始于牛津附近的愚蠢大桥,结束了五天   几英里外的Godstow村。在牧师旅行期间   道奇森告诉女孩们一个故事,其中有一个名叫无聊的小女孩   寻求冒险的爱丽丝。女孩们喜欢它,爱丽丝   利德尔要求道奇森为她写下来。他开始写作了   第二天的故事手稿,虽然是最早的版本   不复存在。女孩们和道奇森一个月又乘船旅行了   后来,他详细阐述了爱丽丝的故事情节   11月他开始认真研究手稿。 [6] \ n \ n要添加   最后,他研究了动物的自然历史   在书中提出,然后由其他人检查了这本书   孩子们尤其是乔治·麦克唐纳的孩子们。他加了   他自己的插图,但接近约翰坦尼尔说明   出版的书,告诉他这个故事很受欢迎   由孩子们。 [6] \ n \ n 1864年11月26日,他给了爱丽丝手写的东西   “地下爱丽丝历险记”手稿   道奇森自己,将其奉献给“亲爱的孩子们的圣诞礼物”   一个夏日的记忆“。[7]一些人,包括马丁加德纳,   推测有一个早期的版本被后来销毁   道奇森手工编写了一份更精致的副本。 [8] \ n \ n但之前   爱丽丝收到她的副本,道奇森已经准备好了   出版并将15,500字的原文扩展到27,500字,   [9]最值得注意的是添加关于柴郡猫和柴郡猫的剧集   疯狂的茶党。'

我希望用纯文本来解析它。我收到错误:

  

UnicodeEncodeError:'ascii'编解码器无法对字符u'\ u2014'进行编码   位置1295:序数不在范围内(128)

当我尝试使用paragraph.decode(“unicode_escape”)或段落。“string_escape”)。

1 个答案:

答案 0 :(得分:0)

它已经是Unicode,因此字符串开头的u。您只有decode个字节字符串。 \u2014只是EM DASH的Unicode字符,您正在显示字符串的repr()print字符串,如果您的控制台支持,您可能会看到EM DASH。在控制台编码中自动打印编码 Unicode字符串。在这里,我将我的Windows控制台切换到支持em破折号的代码页(默认的cp437不支持):

C:>chcp 1252
Active code page: 1252

C:\>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> x=u"examined by other children\u2014particularly the children of George MacDonald."
>>> print x
examined by other children—particularly the children of George MacDonald.