求教 Python 里面处理 unicode 的问题

2015-05-29 12:48:17 +08:00
 wzyefd

问题是这样的

我有一个dict叫content.
其中 content['title']的值是'aaaa\u2019bbbb'
我该如何把它转换成"aaaa'bbbb"

尝试了
python
text=content['title']
result=re.search(r'(\\u\d\d\d\d)',text)
utf8_value=result.encode('utf-8')
final=re.sub(r'\\u\d\d\d\d',utf8_value,text)

本想用 u'aaaa\u2019bbbb'.encode('utf-8'),但是这里不知道该怎样写出u'aaaa\u2019bbbb',尝试了(u'%s' % result).encode('utf-8'),没有用

2724 次点击
所在节点    Python
7 条回复
bottleimp
2015-05-29 13:07:25 +08:00
不明白你说的意思, 不是直接就可以吗, python2.7
```
In [4]: s = u'aaaa\u2019bbbb'

In [5]: s
Out[5]: u'aaaa\u2019bbbb'

In [6]: print s
aaaa’bbbb
```
Sylv
2015-05-29 13:23:34 +08:00
'aaaa\u2019bbbb'.decode('unicode_escape')

字符串中的 '\u2019' 并不是一个 Unicode 字符,而是 6 个字符
yahoo21cn
2015-05-29 13:24:30 +08:00
content['title'] = content['title'].replace(u"’", u"'")
wzyefd
2015-05-29 14:28:54 +08:00
@bottleim
@Sylv
@yahoo21cn

恩,找到原因是,确实\u2019是"’"而不是"'"
fzinfz
2015-05-29 14:44:20 +08:00
unicode还是用PY3吧。。。
ming2281
2015-05-29 15:38:36 +08:00
=>使用Python3.x
=>全部使用Unicode, 如 name = u"lucy" regx_pattern = ur"xx"
=>使用utf-8编码当做桥梁

其中第三种方法在Python2中非常好,需要首先了解字符编码问题
imn1
2015-05-29 17:36:36 +08:00
json ...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/194651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX