Fonts

這些矩形字元是什麼,這個符號在哪裡定義

  • December 9, 2015

使用 Linux(特別是 Fedora)作為我的主要工作站,我有時注意到奇怪的不可列印字元,如下面的螢幕截圖所示(第一張圖像的左下角和第二張圖像的左上角):

在此處輸入圖像描述

在上圖中,不可列印的字元出現在帶有 bash shell 的 gnome-terminal 中。我被sys.stdin.close()黑客從 ipython 互動式 shell 中退出了。

在此處輸入圖像描述

在上圖中,該字元出現在 Firefox 中打開的網頁中,特別是RFC 822文本文件,就在該 RFC 的目錄之前。

我很好奇,想知道它們是什麼。我推斷這些是 Unicode 的某種表示形式。我對嗎?如果是這樣,這種符號在哪裡定義?這叫什麼?

方框通常用於目前字型中不存在的字元。裡面的程式碼是兩字節的 UTF-8 字元程式碼。現代終端是 UTF8,所以如果你嘗試將一些二進制數據輸出到你的終端,你可能會得到這個。似乎你對你的 python 做了一些非常奇怪的事情,python 向螢幕輸出了一些垃圾,這些垃圾被解釋為未知字元,你得到了一些 utf-8 垃圾。你總是可以用’cat /dev/urandom’得到類似的隨機垃圾。

在 Firefox 螢幕截圖中,您會看到 0x0C 字元,或者ASCII中的 Formfeed 字元,這是列印機在新頁面上繼續的指令。請參閱螢幕截圖。我已將其標記為淺藍色。它位於 UDel-Relay 和 Standard 之間,在該程式碼之間,我看到許多 0A 字元(換行)和一個 20(空格)和 0C。您會看到此編輯器以淺灰色顯示這些字元,這意味著它們是非列印的。

我做了什麼:我保存了文件。然後打開 Jedit,打開它的 Hex 編輯器。這是一個可以安裝在 Jedit 中的外掛。可能還有很多其他的十六進制編輯器,但這是我知道的,而且很容易使用。

這並不能解釋您在 Bash 中看到的內容,但就像 Terdon 所說,這可能是二進制、unicode 或不可列印的 ASCII 字元……

Jedit 十六進制編輯器

引用自:https://unix.stackexchange.com/questions/248299