Python版解决中文字符串错误
Python版解决中文字符串错误
在制作工具时使用到了中文字符,结果出现了错误。网上搜索了各种方法仍然无效,最后通过多次的debug和尝试才解决。为此写下来做为参考。
系统为Ubuntu1404
,安装了Python 2.7.6
和Python 3.4.3
。具体的代码如下:
name = "签名文件.png" print(name)
- 1
- 2
- 3
- 4
把该代码保存到code.py
文件中,然后运行,出错的信息如下:
$ python code.py File "code.py", line 2 SyntaxError: Non-ASCII character '\xe7' in file code.py on line 23, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
- 1
- 2
- 3
- 4
- 5
- 6
解决方法就是在文件开关加入以下声明:
#coding=utf8
- 1
该声明告诉编译器源代码文件使用utf-8
格式进行编码。
该方法的原理在于python2
默认使用ASCII
编码格式,而ASCII
编码中不包括中文字符,只有Unicode
或者utf-8
编码才支持中文等字符。通过这种声明,就是告诉编译器使用utf-8
格式进行编码,这样就能识别中文字符。
当然还有另外一种解决方法,那就是使用python3
进行编译,因为python3
默认使用Unicode
编码格式.
具体的操作如下:
$python3 code.py 签名文件.png
- 1
- 2
- 3
- 4
其实问题比较简单,只要说清楚问题发生的背景和解决的原理就可以。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java开发SSM框架微信支付
Java开发SSM框架微信支付 微信小程序的Java支付开发一直是一块坑,网上的教程也是琳琅满目。笔者六月的时候接触到了微信的小程序开发摸到了微信支付方面的东西,腾讯的官方文档也是一言难尽很多地方看不懂,而且官方也没有提供Java的示范导致Java做微信支付不得不自己踩坑。现在我把自己微信支付开发的步骤和代码都在下面展示出来,希望有没有做出来的朋友不要心急跟着我的步骤走就没问题。 第一步:首先微信支付的话只能是企业的开发账户才能使用的如果你是个人开发者是无法开通微信支付的。我们首先拿到账号,然后拿到微信支付相关的商户号和商户支付密钥,这些东西公司都会提供。有了这些以后就可以进行开发了。 public class Configure { //商户支付密钥 private static String key = "****************************"; //小程序ID private static String appID = "***************"; //商户号 private static String mch_id = "*********"; //...
- 下一篇
Java多线程经典案例
Java多线程经典案例 1.三个售票窗口同时出售20张票 public class Demo1 { public static void main(String[] args) { TicketOffice ticketOffice = new TicketOffice(new Object(), 20); new Thread(ticketOffice, "窗口1").start(); new Thread(ticketOffice, "窗口2").start(); new Thread(ticketOffice, "窗口3").start(); } } class TicketOffice implements Runnable { private Object object; private int ticketNum; public TicketOffice(java.lang.Object object, int ticketNum) { this.object = object; this.ticketNum = ticketNum; } @Override public ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16