在python中使用chr()时获得问号图标(版本:3.10)

nbnkbykc  于 2023-06-20  发布在  Python
关注(0)|答案(1)|浏览(132)

我遇到了内置的python函数chr(),它输入数字并显示unicode字符(与ord()相反)。我运行了一个从0到300的循环来检查unicode字符,并且对于很多数字,返回的字符是相同的(框中的问号)。对于第0个字符,它是一个菱形中的问号。有没有人能解释一下为什么有些字符是重复的,而有些字符是一起缺失的。注:我使用谷歌colab笔记本的编码.我附上我的code:参考代码的图片。
我试了这个代码:

#using chr()
for i in range(0,300):
  print(i, ":",chr(i))
pwuypxnk

pwuypxnk1#

这并不是说这些代码点(数字)表示的字符是“问号”-而是它们要么是未定义的,要么是不可显示的字符。或者有时甚至是已定义的字符,但当前显示器没有要显示的正确符号。
如果你想要一个问号,只使用代码点63 -这是问号的代码。
所有其他的只是字符,不能显示由于上述原因之一。
Python可以用unicodedata.name显示一个字符的 name:它能让你清楚地看到哪个是哪个:

In [2]: import unicodedata

In [3]: for i in range(0, 300):
   ...:     try:
   ...:         print(i, chr(i), unicodedata.name(chr(i)))
   ...:     except ValueError:
   ...:         print(i, "undefined character")
   ...: 
0 undefined character
1 undefined character
2 undefined character
...
30 undefined character
31 undefined character
32   SPACE
33 ! EXCLAMATION MARK
34 " QUOTATION MARK
35 # NUMBER SIGN
36 $ DOLLAR SIGN
37 % PERCENT SIGN
38 & AMPERSAND
39 ' APOSTROPHE
40 ( LEFT PARENTHESIS
41 ) RIGHT PARENTHESIS

下面是可复制粘贴的代码:

import unicodedata

for i in range(0, 300):
    try:
        print(i, chr(i), unicodedata.name(chr(i)))
    except ValueError:
        print(i, "undefined character")

相关问题