首页 > 代码库 > 【PYTHON】编码是个细致活
【PYTHON】编码是个细致活
python逆向获取DNS时用到一个函数socket.gethostbyaddr,传入本地主机地址后报错如下:
UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xb0 in position 0: invalid continuation byte
在stackoverflow上搜索到了一条线索,获取的返回值的host等于在console执行hostname获得的值,随手试了一下,输出结果是“爱琴海”,脑洞立马打开,感情是计算机名称在作祟,右键“计算机-属性-计算机名称、域、和工作组设置-更改名称”,修改计算机名称为ocean并重启生效,IDLE执行了一下:
>>> from socket import *
>>> gethostbyaddr(‘127.0.0.1‘) (‘ocean‘, [], [‘127.0.0.1‘])
再次执行django,果然哦了。
据悉,windows中文默认编码是gbk,和utf-8部分字符不兼容,环境变量和路径等最好使用英文名称,避免一些奇怪的错误。
【PYTHON】编码是个细致活
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。