簡體   English   中英

在 logfile.log 中檢測未知字符�

[英]detect unknown character � in logfile.log

有誰知道 � 字符的含義以及它的字符格式是什么?

有時我的 logfile.log(ASCII 格式)文件中有這個字符。

為了搜索引擎的利益,我們在這里談論的符號 (�) 是一個菱形內的問號。 (菱形俗稱菱形。)

� 是一個符號,或者可能是字體字形,但嚴格來說,不是字符。 它是一個通用符號,許多 fonts 使用它來表示它們實際上沒有您要打印的某個字符的字體字形。 該字體只是將其沒有字形的所有字符映射到該字體字形,以便我們人類可以注意到出現了問題並需要進行故障排除。

所以,最重要的是,僅僅通過觀察我們無法判斷它是哪個字符。

但是,我們可以通過更深入地查看文本文件來了解更多信息。

這樣做的正確方法是獲取該文本文件的十六進制轉儲。 在過去的好日子里,每個程序員的某個地方都有一個十六進制轉儲實用程序,但現在每個人都在摸索文本格式的數據,十六進制轉儲實用程序已經失寵,所以你可能沒有一個。 幸運的是,偉大的 Interwebz 可以拯救:

復制您感興趣的字符,並將其粘貼到將文本轉換為十六進制的工具中,例如https://online-toolz.com/tools/text-hex-convertor.php (忽略糟糕的英文,和事實上,它寫在 PHP;程序員來自世界各地,程序員確實做出了錯誤的人生選擇。)

對於您在本文中包含的特定字符,文本到十六進制轉換器會給出efbfbd 這個位模式沒有意義,它可能意味着一些損壞的數據或未初始化的 memory 已寫入您的日志文件。

另請注意,您可能認為日志文件是 ASCII 編碼的,但不一定如此; 它可能有一個 UTF-8 編碼,前 126 個字符與 ASCII 相同,這是最常用的字符。 無論如何,您用來查看日志文件的實用程序很可能是 unicode 感知的,因此它可能將您的日志文件解釋為 UTF-8,但這沒有任何區別,因為efbfbd在 UTF-8 或在 ASCII 中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM