2012-05-28 73 views
0

我有一個文件。我不知道它是如何處理的。這可能是一個雙重編碼。我發現有關解決幾乎是我的問題雙編碼此鏈接:奇怪的編碼替換

http://www.spamusers.com/encoding.htm

它具有所有雙重編碼換人做,如:

À À 
à Á 
  

Unfortnately我還有一些奇怪的字符,如:

ú 
ç 
ö 

你對如何清理這些奇怪的字符有想法嗎?對於那些我知道我剛剛創建了bash腳本的人,我剛剛替換了他們。但我不知道如何認識其他人。我在Linux上運行,所以如果你有一些神奇的命令,我希望這樣。

+0

它看起來像日本的SHIFT-JIS。雖然可能是錯的。 – nhahtdh

+0

對虐待編碼沒有魔法命令。如果您知道*數據如何被錯誤解釋和處理不當,則可能能夠將這些確切的步驟撤回,以獲取原始數據,除非它已被替換。你確定*你不是不正確地處理數據? – deceze

+0

它應該是意大利語,但我不知道。 – dierre

回答

0

鏈接到的「雙編碼替換」頁面似乎包含用於修復已被雙重UTF-8編碼的字符數據的映射。因此,適當的修復程序將會顛倒這種映射,並查看結果是否有意義。例如,如果您將帶有重音符號的A,U + 00C0和UTF-8編碼爲A,則會得到字節C3 A0。如果這些被錯誤地理解爲單字節編碼(例如,根據windows-1252),則會得到字符U + 00C3 U + 00A0(字母Ã和無間隔空格)。如果這些是UTF-8編碼,則前者爲C3 83,後者爲C2 80。如果這些字節依次按照Windows-1252進行解釋,則會得到與頁面上一樣的字符。

但你實際上並沒有「À」,是嗎?你有一些數字數據,字節,如果按照windows-1252解釋,則以這種方式顯示。但那將是一個錯誤的解釋。

您應該首先讀取UTF-8編碼的數據,將其解碼爲字符,檢查所有代碼是否小於100十六進制(如果不是,則還有另一個錯誤),然後再次解碼UTF-9。