2010-12-19 110 views
0

這是我第一次進入UTF-8領域。我是IIS管理員,所以我從來沒有專門去觸摸這個。我試圖幫助一位將聖經翻譯成非洲語言的傳教士,現在需要對大型UTF-8文件進行全球匹配。我們特別爲重音字符進行匹配。推薦內置WinXP語言支持UTF-8正則表達式

我們在這裏使用的是較舊的XP計算機,所以我在VBS中拼湊了一個快速腳本,知道語言已經安裝在他們的盒子上了。玩了幾分鐘後,VBS正則表達式將每個字符分成2個字符,從而處理UTF-8。要匹配單個â,我的模式是\ u00c3 \ u00a2。這不應該是\ u00e2?

由於我不在我的深處,我以爲我會尋求一點指導。它幾乎看起來像UTF-8只需要這種雙重匹配(並且需要UTF-8)。有人可以告訴我在編碼哪個峽谷嗎? :-)

下載和安裝Perl或Java可能不在此項目的帶寬和技術知識範圍之內。該工具應該內置。MS Office已安裝,因此如果某個庫提供特定的支持,VBA是一個選項。 JavaScript也被安裝,雖然我不知道什麼版本。

感謝

+0

你需要做的是加載UTF-8編碼的文件。正則表達式引擎不太可能知道任何有關UTF-8的信息。 – Gabe 2010-12-19 04:22:25

+0

我已驗證我可以打開,讀取和寫入文件。完成後Word將它們打開爲UTF-8文件,就像原始文件一樣。我非常有信心以UTF-8格式處理它們。我正在使用TristateUseDefault。我嘗試強制TristateTrue,但這導致了垃圾。 – codepoke 2010-12-19 04:37:40

回答

1

除非你需要匹配兩個或多個連續的點(例如,你有..或...在你的正則表達式,但不是。*),你可以使用UTF-8任何ASCII正則表達式庫,並期望它能正常工作。

訣竅是知道你在找什麼。 UTF-8做這種類型的字節分解,所以編寫你的任何你熟悉的正則表達式,並將其轉換爲UTF-8,它將工作,除非它包含「..」。

+0

訣竅的確如此。在我的任何表達中,我都不會有..所以這是可以管理的。不過,我需要確定我正在搜索的每個雙字符組合,對嗎?這是可行的,只是具有挑戰性。 – codepoke 2010-12-19 13:13:09

+0

如果我在問題中正確理解你的正則表達式是Windows-1252格式。如果是這樣,請將它們保存在記事本中,選擇格式UTF-8,然後在舊的愚蠢文本編輯器(例如NT4的記事本)中打開它們並提取字節。 – Joshua 2010-12-20 00:53:52

0

PowerShell怎麼樣?它使用.NET正則表達式庫,這是最好的庫之一,特別是對於Unicode支持。

+0

很棒的建議。我希望PS安裝在這些系統上。 :-( – codepoke 2010-12-19 13:14:19