gpt4 book ai didi

python - 为什么 Python 的 string.printable 包含不可打印的字符?

转载 作者:太空狗 更新时间:2023-10-29 17:38:00 25 4
gpt4 key购买 nike

我在一个问题中有两个 String.printable 之谜。

首先,在 Python 2.6 中:

>>> string.printable
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

查看字符串的末尾,您会发现“\x0b\x0c”像拇指一样突出。他们为什么在那里?我使用的机器设置为澳大利亚设置,因此不应有任何重音字符或类似字符。

接下来,尝试运行这段代码:

for x in string.printable: print x,
print
for x in string.printable: print x

第一行成功打印了所有由空格分隔的字符。这两个奇怪的字符变成了男性和女性符号。

第二行成功地打印了除最后一个字符之外的所有字符,并用换行符分隔。男性符号打印;女性符号被替换为缺失的字符(一个方框)。

我敢肯定 Python 并不是为了性别偏见,那么有什么不同呢?

最佳答案

“可显示在您的屏幕上”与“可打印”有所不同。您的终端将低 ascii 打印机控制代码 0x0B 和 0x0C 显示为男性和女性符号,因为这是您字体中的那些索引所包含的内容。这些字符更准确地描述为垂直制表符和换页符。这两个字符以及\t\r 和\n 都是可打印的,并且可以在打印机上完成定义明确的事情。

关于python - 为什么 Python 的 string.printable 包含不可打印的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com