编码相关--去掉那个u

编码相关--去掉那个u

我的需求很简单就是去掉那个u

a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
这个是从外部得到的
就是外部编码乱了
从外部读了的编码乱了

我要用python把他变成'\xb3\xc2\xbb\xdb\xc1\xd5'

>>> a='\xb3\xc2\xbb\xdb\xc1\xd5'
>>> print a
陈慧琳

但现在的a是u'\xb3\xc2\xbb\xdb\xc1\xd5'
how to delet that 'u'
又见到故人了, 真好。

[Copy to clipboard] [ - ]
CODE:
>>> a = u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> a
u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> b = ''.join(map(lambda x: "%c" % ord(x), list(a)))
>>> b
'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> print b
陈慧琳



QUOTE:
原帖由 jigloo 于 2007-6-3 22:47 发表
又见到百合故人了, 真好。

[Copy to clipboard] [ - ]
CODE:
>>> a = u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> a
u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> b = ''.join(map(lambda x: "%c" % ord(x), list(a)))
>>> b
'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> print b
陈慧琳


你百合帐号是什么哇? 我的是phynju

这个以前的帐号被删了


下面是两种解决方式,通过与QQ上朋友讨论得到

谢谢各位


第一种

[Copy to clipboard] [ - ]
CODE:
>>> import struct
>>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> for i in range(len(a)):
        b+=struct.pack('B',ord(a[i]))

       
>>> b
['\xb3', '\xc2', '\xbb', '\xdb', '\xc1', '\xd5']

第二种

[Copy to clipboard] [ - ]
CODE:
>>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> c=eval(repr(a)[1:])
>>> c
'\xb3\xc2\xbb\xdb\xc1\xd5'

我的jigloo也被删了。
你是不是去海外百合了哦?


发信人: jigloo (jigloo), 信区: notepad. 本篇人气: 85
标  题: jigloo 归隐留言
发信站: 南京大学小百合站 (Sat Jan  1 20:28:10 2005)

大家好,

我是 jigloo (jigloo)。我不得不暂时向大家说再见。

我不会更不可能忘记自 Sat Dec  4 19:15:29 2004
以来在本站 35 次 login 中总共 773 分钟逗留期间的点点滴滴。
这些记忆将留在我的脑海里, 带给我深深的思念……

一年之后,如果我还没有回来,那么,请相信,我的祝福将伴随着你们,我的朋友!

临走之前的留言:
闪了

jigloo 于 Sat Jan  1 20:28:10 2005 留.
呵呵......

[Copy to clipboard] [ - ]
CODE:
c=eval(repr(a)[1:])

这方法真漂亮。
长见识了。收藏,收藏。
>>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> b=a.encode('iso8859-1')
>>> print b
陈慧琳
楼上limodou的才是正解, 对于编码的问题还是要用编码的方法去解决。 当然如果Lz只是为了解决那个字串本身的问题, 上面各位的方法都可以满足LZ的要求了。
>>> a = u'\xb2\xe2\xca\xd4\xd7\xf7\xd2\xb5'
>>> b = a.encode('iso8859-1')
>>> print a
²âÊÔ×÷Òµ


为什么我用这个方法却还是乱码呢?
试过gbk,utf-8都不行

但是用前面那个把u去掉的方法,直接print出来就可以了,难道还是直接把u去掉好用,总觉得不是那么舒服