s60 的 python 希伯来语字符串
我在 S60 上使用 python。 我想使用希伯来语字符串,在 GUI 上表示它们并以短信形式发送它们。 看来PythonScriptShell不接受这样的表达式,例如:
u"אבגדה"
我能做什么? 感谢
情况的发展: 我添加了以下行:
# -*- coding: utf-8 -*-
作为源文件中的第一行,在记事本++中我选择了:Encoding>>Convert to utf8。
现在,GUI 以希伯来语显示,但当我选择一个选项时,选择值无法与代码中希伯来语的字符串进行比较(可能),并且没有响应。
在 PythonScriptShell 上出现警告:
Unicode 相等比较无法将两个参数转换为 Unicode - 将它们解释为不相等。
请帮助我。
I'm using python for S60.
I want to use string in hebrew, to represent them on the GUI and to send them in SMS message.
It seems that the PythonScriptShell don't accept such expressions, for example:
u"אבגדה"
what can I do?
thanks
development of situation:
I added the line:
# -*- coding: utf-8 -*-
as the first line in the source file and in notepad++ I selected: Encoding>>Convert to utf8.
now, the GUI appears in Hebrew but when I selected an option the selection value cannot be compared to a string in Hebrew in the code (probably) and there is no response.
On PythonScriptShell appears the warning:
Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal.
Help me, please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我刚刚使用 PyS60 2.0 在蓝牙和电话控制台中对此进行了测试,并且非 ASCII unicode 的处理没有异常。
如果文件中有该字符串而不是将其传递到控制台,则错误是由于文件中缺少编码规范而导致的。
添加
# -*-coding: utf-8 -*-
作为第一行。I just tested this in both bluetooth and on-phone consoles with PyS60 2.0, and non-ASCII unicode was handled w/out exceptions.
If you have that string in the file rather than passing it in the console, error is caused by lack of encoding specification in the file.
Add
# -*- coding: utf-8 -*-
as first line there.使用以下命令将您的单词转换为 unicode 字符
unichr
例如,char 的 unichr(1507)
引用此表中的十进制值: http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0590
convert your words to unicode characters using
unichr
eg unichr(1507) for char ף
refer to the decimal values in this table: http://www.ssec.wisc.edu/~tomw/java/unicode.html#x0590
加起来
ru = lambda txt: str(txt).decode('utf-8','ignore')
并在每个文本使用之前添加该函数
ru("אבגדה")
Add up
ru = lambda txt: str(txt).decode('utf-8','ignore')
And add the function before each text use
ru("אבגדה")