在Arpy中,len()函数返回的是字符串或列表中字符或元素的长度,但对于包含中文等非ascii字符的字符串,len()函数的结果可能会与实际结果不匹配。这是因为在Arpy中,字符串默认使用ASCII编码而不是Unicode编码。因此,为了正确获取包含非ascii字符的字符串的长度,需要先将其转换为Unicode编码。下面是一个代码示例:
import arcpy
str1 = "hello world"
str2 = "你好,世界"
unicode_str = str2.decode('utf-8') # 将str2转换为Unicode编码
print(len(str1)) # 输出:11
print(len(str2)) # 输出:6
print(len(unicode_str)) # 输出:4
在上面的代码中,我们先将str2字符串转换为Unicode编码,然后再使用len()函数获取其长度,此时返回的结果是正确的。