首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unicode字符串上的Python、len和slices

问unicode字符串上的Python、len和slices
EN

Stack Overflow用户
提问于 2011-04-18 03:01:04
回答 1查看 7.4K关注 0票数 9

我正在处理这样一种情况:我需要使一个字符串适合屏幕上分配的间隙,因为我使用的是unicode len(),而slices[]显然是在字节上工作,结果我把unicode字符串剪得太短了,因为€在屏幕上只占一个空间,而len()或slices[]只占两个空间。

我已经正确地设置了编码头,并且我愿意使用slices或len()以外的其他方法来处理这个问题,但我真的需要知道字符串将占用多少空格,以及如何将其剪切到可用的空格。

代码语言:javascript
复制
$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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-18 03:05:09

您不是在那里创建Unicode字符串;而是使用UTF-8编码(如您所见,这是可变长度的)创建字节字符串。您需要使用u"..." (或u'...')形式的常量。如果这样做,就会得到预期的结果:

代码语言:javascript
复制
% 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
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5695714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档