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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【题解】递归数列

    【题解】递归数列"题目链接"题目大意:给定序列迭代规则,求一段的序列和。特点是要求的序列很长。Solution观察到,由于是求和,我们可以想到前缀和的思想。也就是说,对于求$\sum_{i=

    2022年7月2日
    25
  • algo_FISTA(fast shrinkage-thresholding algorithm)

    algo_FISTA(fast shrinkage-thresholding algorithm)前言:FISTA(Afastiterativeshrinkage-thresholdingalgorithm)是一种快速的迭代阈值收缩算法(ISTA)。FISTA和ISTA都是基于梯度下降的思想,在迭代过程中进行了更为聪明(smarter)的选择,从而达到更快的迭代速度。理论证明:FISTA和ISTA的迭代收敛速度分别为O(1/k2)和O(1/k)。  本篇博文先从解决优化问题的传统方法

    2022年6月1日
    30
  • java如何完美的接参数JSONObject 转List集合[通俗易懂]

    一、描述日常中,前端传递一些json字符串等。。后端是如何去接受并处理呢?今天就用alibaba的fastjson简单描述下二、代码@PostMapping(“/getJson”)publicvoidgetJson(@RequestBodyJSONObjectjsonObject){ //获取到我们的jsonobject参数,并toJSONStringStrings=JSONArray.toJSONString(jsonObject.get(“An

    2022年4月9日
    419
  • List集合转换成Json字符串

    List集合转换成Json字符串前言进行转换我们使用alibaba的jsonjar:com.alibaba.fastjson.jar1.导入依赖或者直接导入jar<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId&…

    2022年10月18日
    0
  • 系统错误&H80004005(-2147467259),未指定的错误。[通俗易懂]

    系统错误&H80004005(-2147467259),未指定的错误。[通俗易懂]系统错误&H80004005(-2147467259),未指定的错误。可能产生错误的原因:1.Flash的不断更新升级导致。2.较新版本中的MicrosoftOffice中阻止了Flash、Silverlight和Shockwave控件。解决方法一:说明:速战速决,注册表编辑启动控件,亲测可用!(缺点:可能会多编辑了一些注册表,因为是考虑了你的你电脑是32位和64…

    2022年7月13日
    350
  • SAXreader「建议收藏」

    SAXreader「建议收藏」packagecom.joyveb.addon.hp;importjava.io.StringReader;importorg.dom4j.Document;importorg.dom4j.DocumentException;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;publicclassSni…

    2022年6月29日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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