python中为什么这个unicode无法转为字符串?
这个数应该不是空的吧?
不是所有的Unicode编码都可以转换为字符。Unicode字符集中有一些编码是用来表示非字符的,这些编码无法转换为字符。
因为编码为0x10fff的字符是一个未分配的代码点,并不表示任何实际的字符。因此,如果你试图将这样的Unicode编码转换为字符,会抛出 ValueError 异常。
try:
# 尝试转换未分配的代码点
char = chr(0x10fff)
except ValueError as e:
print(e) # 输出'chr() arg not in range(0x110000)'