前几天我使用 ascii 代码表,注意到存在一些“无法打印”的字符。这些字符包括“Null”、“标题开始”以及其他类似字符。 我自己通过尝试将“Null”打印到控制台来测试这些字符,如下所示:
print ("Hello" + chr(0))
输出了“Hello”一词以及一个带有字母“NUL”的小白框。我原以为空字符根本没有输出 - 我认为输出只是“Hello”。
这个输出是 Python 特有的吗?如果输出写入文件是没有字符写入?另外,如果 "Hello + chr(0)"
被写入某处,然后被另一个程序读入,该程序会识别“Null”还是会像什么都没有一样读取?基本上,有什么东西隐藏了,什么东西消失了,什么东西是可见的?
谢谢!
最佳答案
这是控制台显示设置的一个功能。 Python 只是将给定的 ASCII 代码发送到控制台,它将其视为“只是另一个输出设备”,与写入文件几乎相同。如何显示每个字符取决于控制台的输入管理器。例如,请注意某些应用程序如何将 :-) 转换为单字符笑脸图标?这是在另一端的显示应用程序中完成的。
您可以通过用另一种语言编写等效的输出程序来演示这一点 - 看看它如何以相同的方式处理 NUL 字符。
我个人最喜欢的是 ASCII 007 字符的定时字符串。这会响起终端铃声(现在通常是一声小“嘟嘟”声)。
关于python - 打印时看不到的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41367436/