Mac OS X终端机中的Python unicode

Mac OS X终端机中的Python unicode,第1张

Mac OS X终端机中的Python unicode
>>> print 'абвгд'абвгд

当您键入某些字符时,终端将决定如何将这些字符表示给应用程序。您的终端可能会将字符编码为utf-8,ISO-8859-5或什至只有您的终端才能理解的字符。Python将这些字符作为字节序列来获取。然后,python将这些字节原样打印出来,然后您的终端以某种方式解释它们以显示字符。由于您的终端通常以与以前编码相同的方式解释字节,因此所有内容都会像您键入时一样显示。

>>> u'абвгд'

在这里,您输入一些字符,这些字符以字节序列的形式到达python解释器,可能由终端以某种方式进行编码。使用

u
前缀python会尝试将此数据转换为unipre。为了正确地做到这一点,python必须知道您的终端使用什么编码。在您的情况下,Python似乎猜测您的终端编码为ASCII,但是接收到的数据与此不匹配,因此您会遇到编码错误。

因此,在交互式会话中创建unipre字符串的直接方法是这样的:

>>> us = 'абвгд'.depre('my-terminal-encoding')

在文件中,您还可以使用特殊模式行指定文件的编码:

# -*- encoding: ISO-8859-5 -*-us = u'абвгд'

有关设置默认输入编码的其他方法,请查看

sys.setdefaultencoding(...)
sys.stdin.encoding



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存