2012-01-16 75 views
0

我必須從許多文件(許多cpp文件!)中刪除Unicode字符,我正在尋找腳本或其他東西來刪除這些unicode。這些文件在許多文件夾中!如何將unicode轉換爲ASCII?

+2

「刪除」是什麼意思?從字面上刪除它們並使內容變得毫無意義?或者嘗試一下,例如,用e替換é這樣的字符? – 2012-01-16 13:34:23

+5

@DavidM:'e'也是一個Unicode字符。 – 2012-01-16 13:35:24

+2

@Kerrek SB - 是的,我知道 - 但我們都知道他的意思... – 2012-01-16 13:37:09

回答

4

如果你有它,你應該可以使用iconv(命令行工具,而不是C函數)。事情是這樣的:

$ for a in $(find . -name '*.cpp') ; do iconv -f utf-8 -t ascii -c "$a" > "$a.ascii" ; done 

-c選項iconv使其放棄它不能轉換的字符。然後你會驗證結果,並再次仔細檢查它們,重命名「.ascii」文件到平原文件名,覆蓋Unicode輸入文件:

$ for a in $(find . -name '*.ascii') ; do mv $a $(basename $a .ascii) ; done 

注意,這兩個命令是未經考驗;通過在do之後加入echo來驗證它們是否合理。

+0

你有什麼可以在mac os x上運行嗎? – kasavbere 2013-01-23 01:27:57

0

打開Gaupol中的srt文件,單擊文件,單擊保存爲,刪除菜單中的字符編碼,選擇UTF-8,保存文件。