美文网首页
遇到的问题

遇到的问题

作者: 时光不说话 | 来源:发表于2017-12-06 15:02 被阅读0次

【报错】变量 is not callable

当出现报错 XXX is not callable的时候,很有可能是你正在调用一个不能被调用的变量或对象,具体表现就是你调用函数、变量的方式错误。

【场景】获取到网页内容后,中文不能正常显示

web信息中常会遇到“\u4f60\u597d”类型的字符。首先’\u‘开头就基本表明是跟unicode编码相关的,“\u”后的16进制字符串是相应汉字的utf-16编码。

python里decode()和encode()为我们提供了解码和编码的方法。其中decode('unicode_escape')能将此种字符串解码为unicode字符串。
1、处理字符串中的字符

str1 = '\u4f60\u597d'  
print str1.decode('unicode_escape')  
你好  

2、处理dict中的字符

只有str对象才能调用decode方法,tuple/list/dict调用decode会报错,'dict' object has no attribute 'decode'
可以调用json模块的dumps方法,将dict中的unicode打印成中文。

import json

a = {u'content': {u'address_detail': {u'province': u'\u5409\u6797\u7701', u'city': u'\u957f\u6625\u5e02', u'street_number': u'', u'district': u'', u'street': u'', u'city_code': 53}, u'point': {u'y': u'43.89833761', u'x': u'125.31364243'}, u'address': u'\u5409\u6797\u7701\u957f\u6625\u5e02'}, u'status': 0, u'address': u'CN|\u5409\u6797|\u957f\u6625|None|CERNET|0|0'}


print json.dumps(a).decode('unicode-escape')


输出:
{"content": {"address_detail": {"province": "吉林省", "city": "长春市", "street_number": "", "district": "", "street": "", "city_code": 53}, "address": "吉林省长春市", "point": {"y": "43.89833761", "x": "125.31364243"}}, "status": 0, "address": "CN|吉林|长春|None|CERNET|0|0"}

【扩展】gbk和utf8的区别

GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符。

UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多个国家的语言,那么建议你选择UTF-8编码。

UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也是有一定影响的。

GBK编码格式,它的功能少,仅限于中文字符,当然它所占用的空间大小会随着它的功能而减少,打开网页的速度比较快。

【报错】怎么解决python "Non-ASCII character"错误

代码中出现汉字,导致使用时报SyntaxError: Non-ASCII character '\xe9'
解决方法:源代码文件第一行添加:#coding:utf-8

【报错】python 编码问题:'ascii' codec can't encode characters in position 的解决方案

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')   

相关文章

  • 遇到的问题

    express 搭建脚手架 - 因为chroma网络设置开了代理导致无法显示页面。。。。。。。。 express...

  • 遇到的问题

    还需要学习的东西vue源码nodejshttp等网络知识typescript设计模式 还需要刷的题牛客网前端50题...

  • 遇到的问题

    Dom4J 使用Dom4J解析XML文件时,遇到&时,程序异常信息“Error on line 1 of docu...

  • 遇到的问题

    【报错】变量 is not callable 当出现报错 XXX is not callable的时候,很有可能是...

  • AS遇到的问题

    Q 一些jar包提示Failed to resolve: com.squareup.retrofit:retrof...

  • 遇到的问题

    1.列表页右侧进度条没有,原因是:设置了body的overflow:hidden,范围设置太广,导致整个页面的ov...

  • 遇到的问题

    appcode 不能真机运行 Error:Safe Area Layout Guide before iOS 9....

  • 遇到的问题

    自主学习在线上课 在线上课又分成了各种细类别,中教1v1,外交1v1,小班课4,小班课8,在枚举里面,慢慢淘汰旧的...

  • 遇到的问题

    1.网络数据使用token加密,当token失效时候,此时发出一个请求,由于网络慢,还未接受到后台返回token失...

  • 遇到的问题

    1.使用em布局使用rem布局更好 2.footer的自适应问题 3.函数表达式和函数声明 用函数声明创建的函数f...

网友评论

      本文标题:遇到的问题

      本文链接:https://www.haomeiwen.com/subject/fttlixtx.html