Python字符编码返回不正确的值

时间:2016-06-14 11:12:36

标签: python encoding

我正在使用Python 2.7.11,从扩展的ascii表中获取字符的十进制值时得到错误的值

# -*- coding: utf-8 -*-
str="è"
print(ord(str[0])) #prints 232 decimal

但此char的值为138十进制 (http://www.asciitable.com/

当我删除编码utf-8行时,我收到此错误SyntaxError: Non-ASCII character '\xe8'

2 个答案:

答案 0 :(得分:3)

UTF-8未扩展为asci。如果您检查UTF-8表here,您将看到232确实是正确的序号。

另外,我推荐Joel使用软件UTF-8 article

答案 1 :(得分:0)

字符è将unicode / utf-8编码引用到0x00E8,这意味着232

See this reference

该字符包含在扩展ASCII中,请参阅this
扩展的ASCII和python的问题。