python - 打印时看不到的字符

标签 python ascii file-writing non-printable

前几天我使用 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/

相关文章:

python - PyQt 5 和 4k 屏幕

python - 将解析后的 csv 文件自动读取为字符串转换为 pandas 数据框

python - WriteToText 在 DirectRunner 中工作,但在 DataflowRunner 中因 TypeError 而失败

c - 为什么 '\97' ascii 值等于 55

python - 如何在 Python 中更新现有文本文件?

python - 解决 Whoosh 索引错误 : Writer is closed

python - 如何将 Flask 接收到的二进制文件存储到 postgres 中

Javascript - onKeyPress 事件的 W 字符代码不起作用

c 编程 Ascii 值

c++ - 形状跟踪程序的优化 - C++ OpenCV