我在unicode中有一个字符串,我需要返回前N个字符。 我这样做:返回unicode字符串的前N个字符
result = unistring[:5]
但当然unicode字符串的长度=字符的长度! 任何想法?唯一的解决办法是使用重新?
编辑:更多信息
unistring = "Μεταλλικα" #Metallica written in Greek letters
result = unistring[:1]
returns->?
我认为unicode字符串是两个字节(char),这就是为什么会发生这种情况。如果我做的:
result = unistring[:2]
我得到
M
这是正确的, 所以,我就应该总是片* 2,或者我应该转换成什么?
你确定你有一个实际的Unicode字符串,而不是(说)与UTF-8数据的字节串?如果是这样,你如何定义'角色'? (unicode字符串是代码点字符串(在UCS-4版本中)或codeunits。) – 2010-01-28 11:03:03
来自我们的主机:http://www.joelonsoftware.com/articles/Unicode.html – Will 2010-01-28 12:52:10
请问,请不要。这在这里并不适用。 – Joey 2010-01-28 12:59:39