gpt4 book ai didi

python - PyObjC 中的 Unicode 问题

转载 作者:行者123 更新时间:2023-12-02 08:06:17 25 4
gpt4 key购买 nike

我正在尝试找出 Mac OS X 上的 PyObjC,并且我编写了一个简单的程序来打印地址簿中的姓名。但是,我在输出编码方面遇到了一些问题。

#! /usr/bin/env python
# -*- coding: UTF-8 -*-

from AddressBook import *

ab = ABAddressBook.sharedAddressBook()
people = ab.people()

for person in people:
name = person.valueForProperty_("First") + ' ' + person.valueForProperty_("Last")
name

当我运行这个程序时,输出看起来像这样:

...snip...
u'Jacob \xc5berg'
u'Fernando Gonzales'
...snip...

有人可以解释一下为什么字符串是unicode的,但内容却是这样的?

我还注意到,当我尝试打印名称时,出现错误

UnicodeEncodeError: 'ascii' codec can't encode character u'\xc5' in position 6: ordinal not in range(128)

最佳答案

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

仅影响 Python 解码源代码中的注释和字符串文字的方式,配置标准输出的方式等。如果将 Mac 的终端设置为 UTF-8(终端、首选项、设置、高级、国际下拉菜单)并在以 UTF-8 编码后向其发出 Unicode 文本(print name.encode("utf-8")),应该没问题。

关于python - PyObjC 中的 Unicode 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com