[英]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.