免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14004 | 回复: 13
打印 上一主题 下一主题

编码相关--去掉那个u [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-03 22:03 |只看该作者 |倒序浏览
我的需求很简单就是去掉那个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'

论坛徽章:
0
2 [报告]
发表于 2007-06-03 22:47 |只看该作者
又见到故人了, 真好。

  1. >>> a = u'\xb3\xc2\xbb\xdb\xc1\xd5'
  2. >>> a
  3. u'\xb3\xc2\xbb\xdb\xc1\xd5'
  4. >>> b = ''.join(map(lambda x: "%c" % ord(x), list(a)))
  5. >>> b
  6. '\xb3\xc2\xbb\xdb\xc1\xd5'
  7. >>> print b
  8. 陈慧琳
复制代码

[ 本帖最后由 jigloo 于 2008-6-28 22:05 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-06-03 23:37 |只看该作者
原帖由 jigloo 于 2007-6-3 22:47 发表
又见到百合故人了, 真好。

  1. >>> a = u'\xb3\xc2\xbb\xdb\xc1\xd5'
  2. >>> a
  3. u'\xb3\xc2\xbb\xdb\xc1\xd5'
  4. >>> b = ''.join(map(lambda x: "%c" % ord(x), list(a)))
  5. >>> b
  6. '\xb3\xc2\xbb\xdb\xc1\xd5'
  7. >>> print b
  8. 陈慧琳

复制代码




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

这个以前的帐号被删了


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

谢谢各位


第一种

  1. >>> import struct
  2. >>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
  3. >>> for i in range(len(a)):
  4.         b+=struct.pack('B',ord(a[i]))

  5.        
  6. >>> b
  7. ['\xb3', '\xc2', '\xbb', '\xdb', '\xc1', '\xd5']
复制代码



第二种

  1. >>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
  2. >>> c=eval(repr(a)[1:])
  3. >>> c
  4. '\xb3\xc2\xbb\xdb\xc1\xd5'
复制代码

[ 本帖最后由 njmarshal 于 2007-6-3 23:41 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-06-03 23:43 |只看该作者
我的jigloo也被删了。

论坛徽章:
0
5 [报告]
发表于 2007-06-04 14:17 |只看该作者

回复 4楼 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 留.

论坛徽章:
0
6 [报告]
发表于 2007-06-04 20:35 |只看该作者
呵呵......

  1. c=eval(repr(a)[1:])
复制代码

这方法真漂亮。

论坛徽章:
0
7 [报告]
发表于 2007-06-04 21:06 |只看该作者
长见识了。收藏,收藏。

论坛徽章:
0
8 [报告]
发表于 2007-06-04 22:57 |只看该作者
>>> a=u'\xb3\xc2\xbb\xdb\xc1\xd5'
>>> b=a.encode('iso8859-1')
>>> print b
陈慧琳

论坛徽章:
0
9 [报告]
发表于 2007-06-05 01:13 |只看该作者
楼上limodou的才是正解, 对于编码的问题还是要用编码的方法去解决。 当然如果Lz只是为了解决那个字串本身的问题, 上面各位的方法都可以满足LZ的要求了。

论坛徽章:
0
10 [报告]
发表于 2007-09-09 22:53 |只看该作者
>>> a = u'\xb2\xe2\xca\xd4\xd7\xf7\xd2\xb5'
>>> b = a.encode('iso8859-1')
>>> print a
²âÊÔ×÷Òµ


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

但是用前面那个把u去掉的方法,直接print出来就可以了,难道还是直接把u去掉好用,总觉得不是那么舒服
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP