【发布时间】:2010-08-14 12:01:20
【问题描述】:
我正在尝试创建希伯来语字符串,但出现语法错误。它在 IDLE shell 中有效,但在 Pydev 中无效。 到目前为止,这是我尝试过的:
s = 'מחרוזת בעברית' #works in the shell only
s = u'מחרוזת בעברית' #doesn't work at all
s = unicode("מחרוזת בעברית", "UTF-8") #also doesn't work at all
我收到一个语法错误:以“\xee”开头的非 UTF-8 代码。 这是什么意思,我应该怎么做才能创建希伯来语字符串?
【问题讨论】:
-
当你说它根本不工作,或者它只在 shell 中工作时,你在每种情况下都会遇到相同的错误吗?
-
道歉 - 我回答了 Python 2.6,所以我删除了它。我听说一些关于 unicode 表示的问题在 Python 3 中还没有解决——在 python 2.6 中的工具链中是否同样有效?它应该。
-
@NinjaCat 在每种情况下都出现相同的错误:以 '\xee' 开头的非 UTF-8 代码
-
当您说您使用
u"..."... 时,我有点怀疑 Python 3 中的文字已消失,请参见此处:docs.python.org/release/3.0.1/whatsnew/… 在 3.1 上,这给了我一个语法错误,所以你确定你没有使用 Python 2.6,它在 unicode 和文字方面有很大的不同。 -
在“shell”或“console”中键入任何非 ASCII 字符在 Windows 上非常麻烦,因此最好避免。您通常插入在您机器的系统代码页中编码的字符,该代码页依赖于语言环境,但绝不是 UTF-8。如果您有希伯来语语言环境,则您使用的是代码页 1255。您可以使用
'mbcs'编码获取此编码(也被误导为“ANSI”代码页),仅限 Windows。
标签: python string unicode pydev hebrew