Python 遇到 ascii 中文 无法成功转化为 utf-8 的问题 | 简记
【摘要】
本文记录两种编码时遇到的错误,本文遇到报错场景和您的可能不一致,仅供参考
先陈述下本博文结论,您未必适用
推断是 因为 xshell 工具命令窗口 无法解析这些 ascii 类...
本文记录两种编码时遇到的错误,本文遇到报错场景和您的可能不一致,仅供参考
先陈述下本博文结论,您未必适用
- 推断是 因为 xshell 工具命令窗口 无法解析这些 ascii 类型的中文(转 bytes 之后依旧无法解析),因此xshell 工具背锅
- 开启正餐:阐述本文遇到此类报错的场景如下:
C 代码 使用 swig 转换 Python任务中,Python调用C 代码 中的一个车牌识别模型方法,C 方法返回识别信息(包含中文)给 Python 脚本; 这一步骤 遇到 如下报错
# 返回数据类型 char *
951.000000,81.000000,1073.000000,129.000000,0.998091,京KU2558,蓝;
# print(chr(20140)) 代码测试 报错如下
python3 test.py
Traceback (most recent call last):
File "test.py", line 3, in <module>
print(chr(20140))
UnicodeEncodeError: 'ascii' codec can't encode character '\u4eac' in position 0: ordinal not in range(128)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
xshell 工具测试,具体报错如下:
可以发现Linux环境, 报错是说 window.py 文件 out_stream.write(msg) ,该报错可以理解为 输出流解析报错
结合以下测试,推断是 因为 xshell 工具无法解析这些 ascii 类型的中文(转 bytes 之后依旧无法解析)
bpython version 0.18 on top of Python 3.6.10 /home/rd5/anaconda3/envs/zhi-exp/bin/python
>>> chr(20140)
Traceback (most recent call last):
File "/xx/python3.6/site-packages/curtsies/window.py", line 412, in render_to_terminal
self.write(for_stdout(line))
File "/xx/python3.6/site-packages/curtsies/window.py", line 43, in write
self.out_stream.write(msg)
UnicodeEncodeError: 'ascii' codec can't encode character '\u4eac' in position 1: ordinal not in range(128)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
验证代码如下
大家可以搜到蛮多 encode() 、decode() 编解码方法,可以进行尝试,目前 xshell 命令窗口下,暂时无法处理本文所述问题;
文章来源: positive.blog.csdn.net,作者:墨理学AI,版权归原作者所有,如需转载,请联系作者。
原文链接:positive.blog.csdn.net/article/details/115380565
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)