2015-10-17 122 views
0

我在Python 2.7的程序执行以下操作:(在非英语字符如希伯来语,英语)如何unicode字符串解码为Unicode值

  1. 向用户提供输入
  2. 斯普利特各列表中的句子的特征。 (输入可以是小段落或电子邮件)
  3. 将字符转换为Unicode值。所以最后,列表中的每一项都是一个unicode转义字符,例如"u/0391"可以将它作为字符串来操作。

Ι开始相当好,但我不能拆分数组中的字母也不打印正确的unicode值。

Gr_text = unicode(raw_input("Type your message below:\n"), 'unicode-escape') 

Gr = Gr_text.split() 

print Gr 

示例输入:

Ενααπλοπαραδειγμα。

输入(翻译为“一个简单的例子”)是用希腊语言没有语调。这句话应该在列表中变换为

['\u0395', '\u03bd', '\u03b1','\u0020', '\u03b1', '\u03c0', '\u03bb', '\u03bf','\u0020', '\u03c0', '\u03b1', '\u03c1', '\u03b1', '\u03b4', '\u03b5', '\u03b9', '\u03b3', '\u03bc', '\u03b1','\u0020',] 

指出我也想转换空格和特殊字符。 然后,我将列表中的每个字母都作为unicode字符串,而不是简单的字母,因此我可以操纵并赋予其他值。

+1

请把输入的例子和相应的预期的结果。 –

+0

你需要考虑你正在做的事情的顺序,并且意识到Python 2.7不输入Unicode字符 - 你需要使用'decode'。 –

回答

0

我已经测试过这个,它适用于我,但你的里程可能会有所不同。

import sys, locale 

Gr_text = raw_input('Type your message below:\n').decode(sys.stdin.encoding or locale.getpreferredencoding(True)) 

Gr = Gr_text.split() 

print Gr 


“充分披露”归功于https://stackoverflow.com/a/477496/1427800

+0

谢谢你,但你错过了一些东西。我想操纵列表中某个单词的每个字母。当i型'对于i中的Gr: \t对于x在I: \t \t H = unicode的(X) \t \t manipulate_every_unicode字母()'不能在STR h让Unicode值。 – GeorgeG