python-Non-UTF-8 code starting with ‘\xbd‘ in file C:/Users/Adminis…..出错

python-Non-UTF-8 code starting with ‘\xbd‘ in file C:/Users/Adminis…..出错

文章目录

问题

这句出错的含义是使用utf-8格式无法对你写的代码进行解码,也就无法编译了。
解决方法是告诉编译器使用其他可以用的解码方式解码
怎么告诉它?

解释

在代码第一行添加一个解码方式注释就好了
只能是第一行,前面可以有注释不能有代码,
因为指定了,解码器就使用指定解码方法;不算注释,如果第一行不指定解码方法解码器就会使用默认方法解码代码,写在代码后面它不承认
解码器解码的时候如果看到了这行注释就会使用注释的编码方式解码,没看到就使用默认方式

# coding=gbk

不仅是gbk,还可以是其他的如iso等等解码方式
java也会出现这种解码方式错误的问题
解决方法是

javac -encoding utf-8 Test.java

原因

那么为什么会发生这种情况呢?
首先理解python执行代码的三个过程

  1. 用二进制读取代码文件进内存
  2. 将内存中的二进制文件解码为python代码
  3. 执行得到的python代码
    问题出在第二步上,如果文件是gbk格式,你使用iso等方式解码就会解码错误,得不到正确代码,当然也无法执行第三步

第二步中,python解释器会先读取前两行文件内容(读到二进制的换行符号(0x0A或0x0D0A或单独的0x0D)就是一行),然后用默认的编码方式1对其进行解码,之后会用正则表达式coding[:=]\s*([-\w.]+)进行匹配查找代码指定的解码方式,再用找到的正则表达式的第一个分组作为编码方式对源码文件的二进制内容进行解码,得到python语句。

详细的解释看:
https://blog.csdn.net/xuejianbest/article/details/100660402?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=7b392762-5fdc-40fc-b0f4-895ea74b9e29&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100247.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JavaScript 数组排序【六大方法】「建议收藏」

    JavaScript 数组排序【六大方法】「建议收藏」文章目录数组排序sort()方法冒泡排序选择排序插入排序快速排序希尔排序数组排序排序,就是把一个乱序的数组,通过我们的处理,让他变成一个有序的数组1.sort()方法sort()数组对象排序其原理是冒泡排序reverse()方法能够颠倒数组元素的排列顺序例如:vararr=[3,1,5,6,4,9,7,2,8];varasc=arr.sort()console.log(asc); //1,2,3,4,5,6,7,8,9vardesc=asc.

  • datagrid激活码(破解版激活)「建议收藏」

    datagrid激活码(破解版激活),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • fedora14下载_乡村爱情12部下载

    fedora14下载_乡村爱情12部下载Fedora12正式版已于2009年11月18日正式发布,下面提供官方网站下载地址:下载主页:http://fedoraproject.org/zh_CN/get-fedora种子:http://torrent.fedoraproject.org/镜像:http://mirrors.fedoraproject.org/publiclist/Fedora/12/ …

  • HTML 下划线与删除线[通俗易懂]

    HTML 下划线与删除线[通俗易懂]一、下划线标签<u></u><html><head><title>下划线</title></head><body><!–下面是下划线的用法–><u>这里显示的内容是下划线</u></body></html>二、删除线标签<s></s><html><he

  • 黑盒测试c语言用例,黑盒测试用例设计技术包括_测试用例包括什么_常用黑盒测试用例设计(4)…

    黑盒测试c语言用例,黑盒测试用例设计技术包括_测试用例包括什么_常用黑盒测试用例设计(4)…因此,可以把全部输入数据合理地划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,这样就可以用少量的代表性测试数据,来取得较好的测试结果。黑盒测试用例设计技术包括*是指对于程序的规格说明来说,是合理的有意义的输入数据构成的集合。利用它可以检验程序是否实现预先规定的功能和性能。在具体问题中,有效等价类可以是一个,也可以是多个。有效等价类*是指对于程序的规格说明…

  • 网络传真文档转换「建议收藏」

    网络传真文档转换「建议收藏」
    进公司不久,就到一个棘手的任务,公司决定对原有网络传真文档转换进行改造,原有方案是通过虚拟打印,这家伙有几个不好的地方
    1。只能运行在win系列上。
    2。 虚拟打印只能同步访问,需要排队等候
    3,   不稳定,经常需要重启
    经过将近一个月的摸索与研究,现将思路与实现方案记录下来。
    首先通过openoffice一个开源项目jodconverter将office系列文档转换成pdf。
    然后通过ghostscript将pdf转换成传真

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号