Ark*_*nez 9 python string unicode
我正在处理一种情况,我需要在屏幕中的分配间隙中设置一个字符串,因为我正在使用unicode len()和slices []显然在字节上工作,我最终将unicode字符串剪得太短,因为€
只有占用屏幕中的一个空格,但是len()或slice []占用2个空格.
我已经正确设置了编码头,并且我愿意使用除slice或len()之外的其他东西来处理这个问题,但我真的需要知道字符串将采用多少空格以及如何将其剪切为可用空间.
$cat test.py
# -*- coding: utf-8 -*-
a = "2 €uros"
b = "2 Euros"
print len(b)
print len(a)
print a[3:]
print b[3:]
$python test.py
7
9
??uros
uros
Run Code Online (Sandbox Code Playgroud)
Nic*_*ley 16
你不是在那里创建Unicode字符串; 你正在用UTF-8编码创建字节串(正如你所看到的那样,它是可变长度的).您需要使用表单u"..."
(或u'...'
)的常量.如果你这样做,你会得到预期的结果:
% cat test.py
# -*- coding: utf-8 -*-
a = u"2 €uros"
b = u"2 Euros"
print len(b)
print len(a)
print a[3:]
print b[3:]
% python test.py
7
7
uros
uros
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6973 次 |
最近记录: |