在Python for S60中处理希伯来语字符串
我正在使用Python for S60。
我想在图形界面上使用希伯来语字符串,并且希望能通过短信发送这些字符串。
看起来PythonScriptShell不接受这样的表达,比如:
u"אבגדה"
我该怎么办?谢谢。
情况发展:
我在源文件的第一行添加了以下代码:
# -*- coding: utf-8 -*-
然后在Notepad++中选择了:编码>>转换为utf8。
现在,图形界面可以显示希伯来语,但当我选择一个选项时,选择的值似乎无法与代码中的希伯来语字符串进行比较(可能是这样),所以没有反应。
在PythonScriptShell中出现了警告:
Unicode相等比较无法将两个参数转换为Unicode - 解释为不相等。
请帮帮我。
3 个回答
这个代码的意思是创建一个叫做“ru”的小工具(函数),它的作用是把输入的文本转换成一种特定的格式。具体来说,它会把文本当成字符串处理,并且用“utf-8”这种编码方式来解码,同时如果遇到无法处理的字符,就会忽略掉它们。
在使用这个小工具的时候,你可以在每段文字前面加上“ru()”这个函数,比如说你想处理的文本是“אבגדה”,你就可以这样写:ru("אבגדה")”。这样就能把这个文本转换成你想要的格式了。
使用 unichr 将你的文字转换为unicode字符。例如,使用 unichr(1507) 可以得到字符 ף。
你可以参考这个表格中的十进制值: http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0590
我刚刚在蓝牙和手机控制台上用PyS60 2.0测试了一下,发现非ASCII的unicode字符没有出现任何错误。
如果你把这个字符串放在文件里,而不是在控制台里输入,那么错误是因为文件里没有指定编码格式。
你可以在文件的第一行加上 # -*- coding: utf-8 -*-
这行代码。