有人知道为什么我的长度是6而不是5吗? 我创建了一个名为björn-100.png的文件,并使用python3运行了代码:
import os
for f in os.listdir("."):
p = f.find("-")
name = f[:p]
print("name")
print(name)
length = len(name)
print(length)
for a in name:
print(a)
打印出以下内容:
name
björn
6
b
j
o
̈
r
n
代替打印
name
björn
5
b
j
ö
r
n
答案 0 :(得分:3)
如果您使用的是python 2.7,则可以简单地先将文件名解码为UTF-8:
length = len(name.decode('utf-8'))
但是,由于您使用的是python 3,因此无法像对待string
一样简单地解码bytearray
,因此建议您使用unicodedata
来规范化字符串。
import unicodedata
length = len(unicodedata.normalize('NFC', name))
答案 1 :(得分:1)
使用o char中的两个点获取正确的字符串的方法是:
TYPE v_sc_type is TABLE OF array_rec_type INDEX BY BINARY_INTEGER;