在Python for S60中处理希伯来语字符串

2 投票
3 回答
2317 浏览
提问于 2025-04-16 02:08

我正在使用Python for S60。
我想在图形界面上使用希伯来语字符串,并且希望能通过短信发送这些字符串。
看起来PythonScriptShell不接受这样的表达,比如:

u"אבגדה"

我该怎么办?谢谢。

情况发展:
我在源文件的第一行添加了以下代码:

# -*- coding: utf-8 -*-

然后在Notepad++中选择了:编码>>转换为utf8。
现在,图形界面可以显示希伯来语,但当我选择一个选项时,选择的值似乎无法与代码中的希伯来语字符串进行比较(可能是这样),所以没有反应。

在PythonScriptShell中出现了警告:

Unicode相等比较无法将两个参数转换为Unicode - 解释为不相等。

请帮帮我。

3 个回答

0

这个代码的意思是创建一个叫做“ru”的小工具(函数),它的作用是把输入的文本转换成一种特定的格式。具体来说,它会把文本当成字符串处理,并且用“utf-8”这种编码方式来解码,同时如果遇到无法处理的字符,就会忽略掉它们。

在使用这个小工具的时候,你可以在每段文字前面加上“ru()”这个函数,比如说你想处理的文本是“אבגדה”,你就可以这样写:ru("אבגדה")”。这样就能把这个文本转换成你想要的格式了。

0

使用 unichr 将你的文字转换为unicode字符。例如,使用 unichr(1507) 可以得到字符 ף。

你可以参考这个表格中的十进制值: http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0590

1

我刚刚在蓝牙和手机控制台上用PyS60 2.0测试了一下,发现非ASCII的unicode字符没有出现任何错误。

如果你把这个字符串放在文件里,而不是在控制台里输入,那么错误是因为文件里没有指定编码格式。

你可以在文件的第一行加上 # -*- coding: utf-8 -*- 这行代码。

撰写回答