天道酬勤,学无止境

strings in hebrew in python for s60

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.

评论

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.

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

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 解码来自 S60 设备的 WBXML SyncML 消息(Decoding a WBXML SyncML message from an S60 device)
    问题 我正在尝试解码来自诺基亚 N95 的 WBXML 编码的 SyncML 消息。 我的第一次尝试是使用 python pywbxml 模块,它包装对 libwbxml 的调用。 用这个解码消息会得到很多 <unknown> 标签和 <Collection> 标签中的一大块二进制文件。 我尝试自行运行 <Collection> 的内容,但失败了。 有什么我想念的吗? 另外,有人知道 wbxml 解析器的纯 python 实现吗? 如果没有命令行或在线工具来解码这些消息会很有用 - 这将使我更容易编写自己的...... 回答1 有趣的是,我一直在研究同样的问题。 我编写自己的纯 Python WBXML 解析器已经完成了一半,但它还不够完整,无法使用,而且我现在几乎没有时间来处理它。 那些 <Unknown> 标签可能是因为 pywbxml / libwbxml 没有加载正确的标签词汇。 WBXML 通过索引号表示标签,以避免数百次传输相同的标签名称,并且必须将索引号映射到标签名称的表与 WBXML 文档本身分开提供。 从对 libwbxml 源代码的模糊一瞥看来,libwbxml 似乎有一堆硬编码的标签表。 它有 SyncML 1.0-1.2 的表格; 我认为我的诺基亚 E71 发送了 SyncML 1.3(如果是这样,您的 N95 可能也是如此),看起来 libwbxml
  • Decoding a WBXML SyncML message from an S60 device
    I'm trying to decode a WBXML encoded SyncML message from a Nokia N95. My first attempt was to use the python pywbxml module which wraps calls to libwbxml. Decoding the message with this gave a lot of <unknown> tags and a big chunk of binary within a <Collection> tag. I tried running the contents of the <Collection> through by itself but it failed. Is there something I'm missing? Also, does anyone know of a pure python implementation of a wbxml parser? Failing that a command line or online tool to decode these messages would be useful -- it would make it a lot easier for me to write my own...
  • Python字符串解码问题(Python string decoding issue)
    问题 我正在尝试解析一个CSV文件,其中包含一些数据,大部分是数字,但带有一些字符串-我不知道它们的编码,但是我知道它们在希伯来语中。 最终,我需要了解编码,以便可以对字符串进行统一编码,打印它们,然后稍后再将它们放入数据库中。 我尝试使用Chardet,它声称字符串是Windows-1255( cp1255 ),但是尝试print someString.decode('cp1255')产生臭名昭著的错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-4: ordinal not in range(128) 我尝试了所有其他可能的编码,但均无济于事。 另外,该文件绝对有效,因为我可以在Excel中打开CSV并看到正确的数据。 知道如何正确解码这些字符串吗? 编辑:这是一个例子。 其中一个字符串如下所示(希伯来语字母的前五个字母): print repr(sampleString) #prints: '\xe0\xe1\xe2\xe3\xe4' (使用Python 2.6.2) 回答1 这是正在发生的事情: sampleString是一个字节字符串(经cp1255编码) sampleString.decode("cp1255")将字节字符串解码(解码== sampleString
  • create wordcloud in python for foreign language (Hebrew)
    I want to create a wordcloud. When my string is in English, everything works fine: from wordcloud import WordCloud from matplotlib import pyplot as plt text="""Softrock 40 - close to the 6 MHz that the P6D requires (6.062 according) - https://groups.yahoo.com/neo/groups/softrock40/conversations/messages I want the USB model that has a controllable (not fixed) central frequency.""" wordcloud = WordCloud().generate(text) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() But when I'm doing the same in Hebrew, it doesn't detect the font, and I get only empty rectangles
  • 使用 Image 模块 (python) 绘制希伯来语文本和图像(Drawing Hebrew text to and image using Image module (python))
    问题 这是我已经问过的一个问题,有几个得到了答案,但问题仍然存在。 当我尝试使用 Image 模块用希伯来语将图像写入图像时,我得到的不是希伯来语字母,而是其他一些(ascii??)字母。 如果我转换为 unicode 或 ascii,我会收到一个它不支持的错误。 我在这里得到了一个代码的引用,它用中文做我想要的: import sys import Imag import ImageDraw import ImageFont import _imaging txt = '你好,世界!' font = ImageFont.truetype('c:/test/simsun.ttc',24) im = Image.new("RGBA",(300,200),(0,0,0)) draw = ImageDraw.Draw(im) #draw.text( (0,50), u'你好,世界!', font=font) draw.text( (0,50), unicode(txt,'UTF-8'), font=font) 但后来我收到一个错误:ImportError: _imagingft C 模块未安装。 当我尝试使用标准希伯来语字体“arial.ttf”(当然还有希伯来语字符串)时,情况也是如此。 如您所见,我已成功导入 _imaging ,因此问题并不像 effbot.org 所建议的那样存在
  • Drawing Hebrew text to and image using Image module (python)
    This is an issue I already asked about and several got answers but the problem remained. when I try to write in hebrew to an image using Image module I get instead of the hebrew lettring some other (ascii??) lettering. if I convert to unicode or ascii I get an error that it doesn't support. I got here a reference to a code that does what I want in chinese: import sys import Imag import ImageDraw import ImageFont import _imaging txt = '你好,世界!' font = ImageFont.truetype('c:/test/simsun.ttc',24) im = Image.new("RGBA",(300,200),(0,0,0)) draw = ImageDraw.Draw(im) #draw.text( (0,50), u'你好,世界!', font
  • R从数据框中制作带圆圈的圆/弦图(R make circle/chord diagram with circlize from dataframe)
    问题 我想使用circlize包制作一个和弦图。 我有一个包含四列汽车的数据框。 前两列包含有关所拥有的汽车乐队和车型的信息,后两列包含被调查者迁移到的品牌和车型的信息。 这是数据框的一个简单示例: Brand_from model_from Brand_to Model_to 1: VOLVO s80 BMW 5series 2: BMW 3series BMW 3series 3: VOLVO s60 VOLVO s60 4: VOLVO s60 VOLVO s80 5: BMW 3series AUDI s4 6: AUDI a4 BMW 3series 7: AUDI a5 AUDI a5 能够将其制作成和弦图,将是很棒的。 我在帮助中找到了一个有效的示例,但无法将数据转换为正确的格式以进行绘图。 此代码来自circlize软件包中的帮助。 这会产生一层,我想我需要两层,品牌和型号。 mat = matrix(1:18, 3, 6) rownames(mat) = paste0("S", 1:3) colnames(mat) = paste0("E", 1:6) rn = rownames(mat) cn = colnames(mat) factors = c(rn, cn) factors = factor(factors, levels = factors) col
  • use polyglot package for Named Entity Recognition in hebrew
    I am trying to use the polyglot package for Named Entity Recognition in hebrew. this is my code: # -*- coding: utf8 -*- import polyglot from polyglot.text import Text, Word from polyglot.downloader import downloader downloader.download("embeddings2.iw") text = Text(u"in france and in germany") print(type(text)) text2 = Text(u"נסעתי מירושלים לתל אביב") print(type(text2)) print(text.entities) print(text2.entities) this is the output: <class 'polyglot.text.Text'> <class 'polyglot.text.Text'> [I-LOC([u'france']), I-LOC([u'germany'])] Traceback (most recent call last): File "C:/Python27/Lib/site
  • The niqqud are not aligned properly while drawing text in Hebrew using PIL (Python Imaging Library)
    I'm using Pillow / PIL to draw hebrew letters with nikud. I noticed that the nikudim (plural for nikud) are not properly aligned and sometimes overlap other letters. Any suggested fix for this? I've tried a few fonts, and they all seem to have their own issues. Here's the code that I'm using. from bidi.algorithm import get_display from PIL import Image, ImageDraw, ImageFont fonts = [ ('Tammey FranckCLM', '/PATH/TO/FONT/TaameyFrankCLM-Medium.ttf'), ('Times New Roman', '/PATH/TO/FONT/Times New Roman.ttf'), ('Arial', '/PATH/TO/FONT/Arial.ttf') ] im = Image.new(mode='RGBA', size = (1000, 1000)
  • 在跨平台的移动开发方面做了什么工作? [关闭](What work has been done on cross-platform mobile development? [closed])
    问题 从目前的情况来看,这个问题不适合我们的问答形式。 我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。 如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否有针对iPhone , Blackberry和Android有据可查或开放源代码的项目? 是否还有其他更适合此类工作的平台? 请注意,我特别询问的是客户端软件,而不是Web应用程序,尽管有关在多个移动平台上使用Web应用程序的困难的任何信息也很有趣。 回答1 HTML5标准支持发布独立的HTML5应用。 本质上, HTML5应用程序是一堆HTML5 , JavaScript和CSS文件,它们将在台式机或设备的浏览器中独立运行。 您可以像分发其他程序一样分发它们,包括在iPhone的iStore上出售它们。 目前对此的支持还很零散,但在下一两年中可能会大大改善。 Google for HTML5应用程序,用于获取信息和资源。 Mark Pilgrim撰写的在线书籍“ Dive Into HTML5”是对HTML5的一个很好的介绍。 这是一项正在进行的工作,但已足够完善以至有用。 回答2 有2种[最新]解决方案可以解决此问题: 旋转式 和 电话间隙 回答3 我认为跨平台移动成功的最佳机会就是网络。
  • Python string decoding issue
    I am trying to parse a CSV file containing some data, mostly numeral but with some strings - which I do not know their encoding, but I do know they are in Hebrew. Eventually I need to know the encoding so I can unicode the strings, print them, and perhaps throw them into a database later on. I tried using Chardet, which claims the strings are Windows-1255 (cp1255) but trying to do print someString.decode('cp1255') yields the notorious error: UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-4: ordinal not in range(128) I tried every other encoding possible, to no avail
  • Convert Unicode Escape to Hebrew text
    I have the following text in a json file: "\u00d7\u0090\u00d7\u0097\u00d7\u0095\u00d7\u0096\u00d7\u00aa \u00d7\u00a4\u00d7\u0095\u00d7\u009c\u00d7\u0092" which represents the text "אחוזת פולג" in Hebrew. no matter which encoding/decoding i use i don't seem to get it right with Python 3. if for example ill try: text = "\u00d7\u0090\u00d7\u0097\u00d7\u0095\u00d7\u0096\u00d7\u00aa \u00d7\u00a4\u00d7\u0095\u00d7\u009c\u00d7\u0092".encode('unicode-escape') print(text) i get that text is: b'\\xd7\\x90\\xd7\\x97\\xd7\\x95\\xd7\\x96\\xd7\\xaa \\xd7\\xa4\\xd7\\x95\\xd7\\x9c\\xd7\\x92' which in bytecode
  • Python-我可以检测unicode字符串语言代码吗?(Python - can I detect unicode string language code?)
    问题 我遇到一种情况,我正在阅读一串文本,并且需要检测语言代码(en,de,fr,es等)。 有没有一种简单的方法可以在python中做到这一点? 回答1 如果您需要检测语言以响应用户操作,则可以使用google ajax语言API: #!/usr/bin/env python import json import urllib, urllib2 def detect_language(text, userip=None, referrer="http://stackoverflow.com/q/4545977/4279", api_key=None): query = {'q': text.encode('utf-8') if isinstance(text, unicode) else text} if userip: query.update(userip=userip) if api_key: query.update(key=api_key) url = 'https://ajax.googleapis.com/ajax/services/language/detect?v=1.0&%s'%( urllib.urlencode(query)) request = urllib2.Request(url, None, headers=dict(Referer
  • Unicode strings in .Net with Hebrew letters and numbers
    There is a strange behavior when trying to create string which contains a Hebrew letter and a digit. The digit will always be displayed left to the letter. For example: string A = "\u05E9"; //A Hebrew letter string B = "23"; string AB = A + B; textBlock1.Text = AB; //Ouput bug - B is left to A. This bug only happens when using both a Hebrew letter and digits. When omitting one of those from the equation the bug won't happen: string A = "\u20AA"; //Some random Unicode. string B = "23"; string AB = A + B; textBlock1.Text = AB; //Output OK. string A = "\u05E9"; //A Hebrew letter. string B =
  • Android希伯来语(RTL)集成(Android Hebrew (RTL) Integration)
    问题 我正在开发一个相对简单的Android应用程序。 我希望它既有英语版本又有希伯来语版本。 (RTL从右到左对齐) 我已经手动将对齐方式更改为布局xml文件中的对齐方式。 当句子中包含数字(在中间)时,数字以镜像视图显示: 29出现为92,21 : 45出现为54 :12,2,000出现为000,2 。 同样,当一个句子以数字或英文字符开头时,它们会被扔到句子的末尾,使整个句子变得混乱不堪。 我认为对于Android版本4.0.3,它支持希伯来语。 我已经在模拟器中检查了这一点。 因此,对于较旧的版本,是否有实现希伯来语的正确方法? 请帮忙。 回答1 我认为Android的比迪分析算法存在一些缺陷。 Unicode有两个不可见的,方向性强的字符,它们可能会帮助解决这些问题: U + 200E-左右标记 U + 200F-从右到左标记 对于数字顺序问题,请尝试在数字序列的两侧放置从左到右的标记(U + 200E)。 Unicode还具有以下bidi格式代码: U + 202A-从左到右嵌入 U + 202B-从右到左嵌入 U + 202C-弹出方向格式化(取消先前的嵌入或覆盖) U + 202D-左右覆盖 U + 202E-从右到左覆盖 对于希伯来语文本中英语片段的问题,这可能很简单,只需在英语之前添加一个从右到左的标记。 (Android的算法可能会因为第一个字符是英文
  • 希伯来语中的 php mkdir() 创建 gibrish 文件夹(php mkdir() in hebrew creates gibrish folder)
    问题 我正在尝试使用 php 用英语创建一个目录并且它正在工作。 但是当我尝试使用希伯来语时,它会像这样以乱码创建文件夹:׳”׳•׳¨׳“׳”| ׳׳©׳—׳§ ׳©׳•׳׳~ 我该如何解决? 谢谢 回答1 PHP 在处理字符串时有一些 Unicode 支持,但 PHP 内部的字符串类型是单字节的,不支持多字节编码。 如果您将 PHP 文件保存为 UTF-8 格式,则可以使用正确的 HTTP 编码以 UTF-8 格式输出字符串,但许多 PHP 函数不支持多字节字符串。 有一些这样做,但仍然大多数没有。 我在 PHP 源代码中环顾四周,大多数文件系统函数(如mkdir都不支持 Unicode。 它们对单字节字符串进行操作,这就是为什么当您尝试创建目录时会收到 ASCII 乱码。 您可以在调用mkdir之前尝试调用setlocale并将其设置为he_IL以查看这是否有任何区别。 想要查询更多的信息: 字符串是一系列字符,其中一个字符与一个字节相同。 这意味着 PHP 仅支持 256 个字符集,因此不提供本机 Unicode 支持。 查看字符串类型的详细信息。 详细信息更多地讨论了不同的编码、多字节感知的函数以及基于 PHP 中是否启用 Zend Multibyte 支持以及以不同编码保存文件如何影响 PHP 中的字符串的不同行为。 不幸的是,目前我不相信您能够直接在 PHP
  • C# Encoding.Converting Latin to Hebrew
    I'm trying to fetch and parse an online excel document which is written in hebrew but unfortunately in a non-hebrew encoding. As an example I'm trying to convert the following string: "âìéåï_1", which serves as the 1st sheet name to hebrew using C# code, but I'm unable to do so. I know the above is convertible, since when I open it up in NotePad++ and select Encoding/Character Sets/Hebrew/Windows 1255, I can see: "גליון_1" which is the correct hebrew representation of the above string. I'm using the below code string str = "âìéåï_1"; Encoding windows = Encoding.GetEncoding("Windows-1255")
  • Javascript-如何找到希伯来语?(Javascript - how to find hebrew?)
    问题 我正在尝试查找字符串是否以RTL语言/希伯来语开头(第一个字母)的宽度。 有任何想法吗? 回答1 这将找到在希伯来语Unicode代码点范围内编码的希伯来字母: [\u0590-\u05FF] 回答2 JavaScript不支持\p{InHebrew}类的正则表达式脚本(或类似的东西)。 但是,它确实支持Unicode转义,因此您可以使用如下正则表达式: /[\u0590-\u05FF]/ 会匹配一个希伯来字符。 参见:http://unicode.org/charts/PDF/U0590.pdf和:http://www.regular-expressions.info/unicode.html 回答3 function is_heb(Field) { // First choose the required validation HebrewChars = new RegExp("^[\u0590-\u05FF]+$"); AlphaNumericChars = new RegExp("^[a-zA-Z0-9\-]+$"); EnglishChars = new RegExp("^[a-zA-Z\-]+$"); LegalChars = new RegExp("^[a-zA-Z\-\u0590-\u05FF ]+$"); //Note that this one
  • 有没有办法在 Windows 控制台中编写希伯来语?(Is there any way to write Hebrew in the Windows Console?)
    问题 有没有办法在 Windows 控制台中编写希伯来语? 我尝试了以下方法: Console.OutputEncoding = new UTF8Encoding(false); Console.WriteLine("\u05D0\u05D1"); Console.ReadLine(); 但它不是“אב”,而是写了一些其他的 Unicode 字符,这些字符不在希伯来语 ABC 中。 任何想法为什么? 回答1 如果您可以在程序之前调用chcp命令,您可以将代码页更改为希伯来语,然后您的字符将是可读的。 这里有一篇关于国际化和 windows 控制台的有趣文章:http://illegalargumentexception.blogspot.com/2009/04/i18n-unicode-at-windows-command-prompt.html 回答2 只需更改 OutputEncoding: Console.OutputEncoding = Encoding.GetEncoding("Windows-1255"); 回答3 Console.OutputEncoding = new UTF8Encoding(); Console.WriteLine("\u05D0\u05D1"); Console.WriteLine("אריאל"); Console.WriteLine(new
  • Android emulator displays Hebrew resources correctly but device doesn't
    I want to support Hebrew resources in my App (default is English). I assigned the Hebrew resources under "res/values-iw/strings.xml" and tested it in the emulator. The results were good - after switching the emulator language to Hebrew I saw the Hebrew strings in my App. The problem is that it didn't show up in my device (Samsung Galaxy S2) after setting the device language to Hebrew. I kept seeing the English strings. Any ideas how to solve it? Thanks!