python3 获得 /uxxxx/uxxxx 这样的乱码字符串,数据类型是 str,怎么转换成正确的中文?

2015-10-19 18:34:53 +08:00
 fyyz
\u6781\u8def\u7531-\u6781\u58f9S
<class 'str'>

stackoverflow 上搜了一圈没找到可用的方法。可能英美这些国家用 ascii 就够了吧。
5354 次点击
所在节点    Python
20 条回复
imn1
2015-10-19 18:43:51 +08:00
提示: json
Zzzzzzzzz
2015-10-19 18:52:06 +08:00
s.encode('utf8').decode('unicode-escape')
PythonAnswer
2015-10-19 18:53:53 +08:00
>>> print("\u6781")
hahasong
2015-10-19 19:27:08 +08:00
楼主重新定义乱码
echo1937
2015-10-19 19:44:25 +08:00

楼主你这算哪门子乱码啊.
limbo0
2015-10-19 19:45:19 +08:00
这是 unicode, 需要 encode 一下
fyyz
2015-10-19 19:51:58 +08:00
看了下楼上各位的回答,我觉得我情况说得不够清楚。代码在公司,明天上班再把具体情况说下。
Kisesy
2015-10-19 20:01:05 +08:00
a = '\u6781\u8def\u7531-\u6781\u58f9S'
print(a)
# 极路由-极壹 S
print(a[0])
# 极

自动转
lixia625
2015-10-19 20:26:23 +08:00
并不是你看不懂的码都叫乱码
PythonAnswer
2015-10-19 20:47:45 +08:00
你那个是正码, 不是乱码.

标准的 json 就是 ascii 字符存储的, 不然你放汉字进去, 然后在 ssh 到服务器上打开, 那才是真正的乱码...
RqPS6rhmP3Nyn3Tm
2015-10-19 20:58:57 +08:00
这不是乱码啊……编码问题应该是学 Python 第一天就要了解的吧……
xavierskip
2015-10-19 21:14:52 +08:00
还搜了一圈都没搜到,我就是在 stackoverflow 上找到的答案。

这是我在 segmentfault 上的回答 http://segmentfault.com/q/1010000003651656
leyle
2015-10-19 22:04:03 +08:00
你们可能没有理解楼主的意思,楼主粘贴出来的东西和你们再次复制回去的,在 python 中不是一个东西。

楼主这个问题我以前遇到过,但是忘记咋个解决的了,明天白天找找看。
zsj950618
2015-10-19 22:04:07 +08:00
来,看几种情况。
a1='\u6781'
a2='\\u6781'
a3='"\\u6781"'

print(a1)
'"'+a2+'"' == a3
print(json.loads(a3))
zsj950618
2015-10-19 22:06:40 +08:00
发现二楼也已经给出方法了。。

a2='\\u6781'
print(a2.encode('utf8').decode('unicode-escape'))
Kisesy
2015-10-19 23:06:03 +08:00
还有一种
print(b'\u4f60\u597d'.decode('raw_unicode_escape'))
MrZephyrus
2015-10-19 23:19:22 +08:00
楼主重新定义乱码
jamesliu96
2015-10-20 07:10:30 +08:00
你这个乱码可以 66666
烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
billgreen1
2015-10-20 22:16:30 +08:00
python2.7 是不行的
p1n3
2015-11-08 16:06:28 +08:00
`Python 2.7.9 (default, Apr 2 2015, 15:33:21)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = u'\u6781\u8def\u7531-\u6781\u58f9S'
>>> print a
极路由-极壹 S
`
@billgreen1

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

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

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

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

© 2021 V2EX