python2.0 默认编码错误:SyntaxError: Non-ASCII character ‘\xe5‘

python2.0 默认编码错误:SyntaxError: Non-ASCII character ‘\xe5’

python2.0 和 python3.0 默认编码区别

  • python2.0:默认采用 ASCII 编码对输入的字符串进行编码
    • 默认不支持中文字符编码
  • python3.0:默认采用 Unicode 编码对字符串进行编码
    • 默认支持中文字符编码

使用 python2.0 代码中使用中文字符出现的编码错误

由于 python2.0 默认采用 ASCII 编码对输入的字符串进行编码,如果代码文件中出现了非 ASCII 字符(例如中文字符),则无法正确进行编码,会出现报错信息:SyntaxError: Non-ASCII character '\xe5'

例如:
  • 字符串中使用中文字符
    print '廊坊吴彦祖'
    
  • 注释中使用中文字符
    # 廊坊吴彦祖
    print 'langfangwuyanzu'
    
报错信息:
SyntaxError: Non-ASCII character '\xe5' in file a.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

解决方法

使用 python2.0 时需要在文件的开头声明该文件所采用的编码方式:UTF-8

  • UTF-8:是一种可变长度的 Unicode 编码方式,可以表示 Unicode 字符集中的任意字符,包括中文字符,是在互联网上使用最广的一种 Unicode 的实现方式

将以下声明代码添加到文件源代码的开头

  • # -*- coding: UTF-8 -*-
    

    或者

  • #coding=utf-8
    

注意:如果文件第一行是指定解释器路径代码(例如:#!/usr/bin/python),以上声明代码需要添加到指定解释器路径代码的下一行

例如:
  • 字符串中使用中文字符
    # -*- coding: UTF-8 -*-
    print '廊坊吴彦祖'
    
  • 注释中使用中文字符
    #coding=utf-8
    # 廊坊吴彦祖
    print 'langfangwuyanzu'
    

相关推荐

  1. Ubuntu23.04编译VLC3.0.20的各种错误处理

    2023-12-17 10:24:04       53 阅读
  2. 编程笔记 html5&css&js 055 css默认

    2023-12-17 10:24:04       46 阅读
  3. 编程笔记 html5&css&js 054 CSS默认

    2023-12-17 10:24:04       51 阅读
  4. 零基础学python20、网络编程

    2023-12-17 10:24:04       44 阅读
  5. qt5.12版本源码交叉编译错误

    2023-12-17 10:24:04       27 阅读
  6. 【VS2022 编译UE5.1 错误 C4834 】

    2023-12-17 10:24:04       35 阅读
  7. ubuntu20.04-编译安装Qt5.15.2-C++

    2023-12-17 10:24:04       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 10:24:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 10:24:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 10:24:04       87 阅读
  4. Python语言-面向对象

    2023-12-17 10:24:04       96 阅读

热门阅读

  1. 43 贪心算法 -第K个排列

    2023-12-17 10:24:04       73 阅读
  2. 【自用】Mathematica 使用

    2023-12-17 10:24:04       63 阅读
  3. flutter学习-day12-可滚动组件和监听

    2023-12-17 10:24:04       42 阅读
  4. ARM(i2C总线通信) 2023.12.13

    2023-12-17 10:24:04       48 阅读
  5. Spring MVC与Spring Boot简单理解

    2023-12-17 10:24:04       60 阅读
  6. Kafka

    2023-12-17 10:24:04       67 阅读
  7. pip install默认安装路径

    2023-12-17 10:24:04       65 阅读
  8. MySQL中union和union all的区别

    2023-12-17 10:24:04       62 阅读
  9. OpenGL阴影贴图实例编程

    2023-12-17 10:24:04       67 阅读