首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,源代码编码问题

Python,源代码编码问题
EN

Stack Overflow用户
提问于 2010-01-23 21:33:40
回答 3查看 710关注 0票数 0

我在windows上使用Notepad++编辑器,格式设置为ASCII码,我已经阅读了“PEP263:源代码编码”,并相应地修改了我的代码(我认为),但仍有字符打印在十六进制...

代码语言:javascript
复制
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os, sys

a_munge = [ "A", "4", "/\\", "\@", "/-\\", "^", "aye", "?" ]
b_munge = [ "B", "8", "13", "I3", "|3" , "P>", "|:", "!3", "(3", "/3", "3","]3" ]
c_munge = [ "C", "<", "(", "{", "(c)" ]
d_munge = [ "D", "|)", "|o", "?", "])", "[)", "I>", "|>", " ?", "T)", "0", "cl" ]
e_munge = [ "E", "3", "&", "€", "£", "[-", "|=-", "?" ]
         .
         .
         .
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-23 21:38:26

也许你应该使用unicode文本(例如u'€')来代替。

票数 2
EN

Stack Overflow用户

发布于 2010-01-23 23:42:01

这行代码:

代码语言:javascript
复制
# -*- coding: UTF-8 -*-

声明源文件以UTF-8格式保存。其他任何东西都是错误的。

在源代码中声明字节字符串时:

代码语言:javascript
复制
e_munge = [ "E", "3", "&", "€", "£", "[-", "|=-", "?" ]

然后,像“source”这样的字节字符串实际上将包含用于保存源文件的编码字节。

当您改用Unicode字符串时:

代码语言:javascript
复制
    e_munge = [ u"E", u"3", u"&", u"€", u"£", u"[-", u"|=-", u"?" ]

然后,当Python从源文件中读取u后跟字节字符串Unicode“时,它会使用声明的编码将该字符解码为Unicode。

下面是一个示例:

代码语言:javascript
复制
# coding: utf-8
bs = '€'
us = u'€'
print repr(bs)
print repr(us)

输出:

代码语言:javascript
复制
'\xe2\x82\xac'
u'\u20ac'
票数 2
EN

Stack Overflow用户

发布于 2010-01-24 08:40:54

print some_list实际上是print repr(some_list) --这就是为什么您看到的是\u20ac而不是欧洲字符。出于调试目的,"unicode十六进制“正是您明确显示数据所需的。

您的列表中似乎有完全正常的unicode对象;我建议您不要将列表“打印”到Tkinter。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2123283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档