免费注册 查看新帖 |

Chinaunix

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

【求助】我用淘宝API得到的 unicode码怎么转化成中文? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-07 21:53 |只看该作者 |倒序浏览
本帖最后由 alexkh 于 2013-03-07 21:58 编辑

求助,我用淘宝API得到的 unicode码怎么转化成中文???
地址如下:http://ip.taobao.com/service/getIpInfo.php?ip=117.79.153.62

我是用re匹配到了里面的\u5317\u4eac\u5e02,但就是转不了中文

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
2 [报告]
发表于 2013-03-07 22:34 |只看该作者
本帖最后由 jeppeter 于 2013-03-07 23:05 编辑

回复 1# alexkh


    你说的这三个字是“北京市”,这个是从UNICODE的表中查到的。你可以看CJK字符集这当中提到的。

给你转换的代码
  1. import codecs

  2. def ChangeUtf16ToGBK(u):
  3.         u16c = codecs.lookup('utf-16')
  4.         gbc = codecs.lookup('gbk')
  5.         uc = u16c.decode(u)
  6.         gc = gbc.encode(uc[0])
  7.         return gc[0]

  8. u = '\x17\x53\xac\x4e\x02\x5e'
  9. print ChangeUtf16ToGBK(u)

复制代码

论坛徽章:
0
3 [报告]
发表于 2013-03-07 23:51 |只看该作者

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015亚冠之广州恒大
日期:2015-07-22 17:20:15
4 [报告]
发表于 2013-03-08 08:49 |只看该作者
一看你那个就是 json的接口代码

  1. >>> import simplejson
  2. >>> import urllib
  3. >>> a = urllib.urlopen('http://ip.taobao.com/service/getIpInfo.php?ip=117.79.153.62').read()
  4. >>> b = simplejson.loads(a)
  5. >>> print b
  6. {'code': 0, 'data': {'ip': '117.79.153.62', 'city': u'\u5317\u4eac\u5e02', 'area_id': '100000', 'region_id': '110000', 'area': u'\u534e\u5317', 'city_id': '110000', 'country': u'\u4e2d\u56fd', 'region': u'\u5317\u4eac\u5e02', 'isp': '', 'country_id': 'CN', 'county': '', 'isp_id': '-1', 'county_id': '-1'}}
  7. >>> print b['data']['city'].encode('gbk')
  8. 北京市

复制代码

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015亚冠之广州恒大
日期:2015-07-22 17:20:15
5 [报告]
发表于 2013-03-08 08:55 |只看该作者
本帖最后由 ghostwwl 于 2013-03-08 08:56 编辑

如果你不想用json库 也是可以的

  1. >>> def decode_keyword(k):
  2. >>>         s = ''
  3. >>>         if '\u' in k:
  4. >>>             for i in k.split('\u'):
  5. >>>                 if i: s += unichr(int(i.strip(), 16))
  6. >>>             return s
  7. >>>         else: return k
  8.    
  9. >>> b = decode_keyword(a)
  10. >>> print b
  11. 北京市
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
6 [报告]
发表于 2013-03-08 09:52 |只看该作者
回复 3# crifan


学习态度令我非常佩服,所有问题都记录在案。

再看看自己,找到教程就记到脑子里,忘了再google教程。
自惭形秽呀。

   

论坛徽章:
0
7 [报告]
发表于 2013-03-08 14:09 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2013-03-08 14:53 |只看该作者
回复 7# crifan

多谢,编码问题和json问题通过你的资料学到了不少!


   

论坛徽章:
0
9 [报告]
发表于 2013-03-08 14:54 |只看该作者
回复 4# ghostwwl


    多谢,学到了一个好用的json库。另外看了你的百度空间,你是做搜索引擎的?

论坛徽章:
0
10 [报告]
发表于 2013-03-08 15:28 |只看该作者
本帖最后由 crifan 于 2013-03-08 15:30 编辑

回复 9# alexkh
不是。
是做软件,嵌入式软件。
只是个人兴趣使然,现在上层软件,也折腾。

另:
百度空间,我有多个。况且,现在都已废弃不用。
你看的是哪个?

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP