使用 ultraedit 在 Unicode 和 Code page 之間進行編碼轉換

分類:IT技術 時間:2017-06-20

近來由於項目的需要,需要看一下Windows上的編碼轉換情況,本打算自己寫個小程序來測以下,結果Google了半天也沒有發現好的例子,只是有WideCharToMultiByte, MultiByteToWideChar的API,鑒於已經 n 年沒有寫Windows的程序了(怎麽編譯都忘了),而且時間也不充足,所以還是想偷懶找個現成的工具。於是首先想到了功能極為強大的 UltraEdit, 結果UltraEdit果然沒有讓我失望,它提供了任意 code page 和 Unicode, UTF-8 之間的轉換,而且不用修改系統的 code page. 下面簡單介紹一下.(UltraEdit可以從http://www.ultraedit.com/免費下載試用45天,目前的最新版本是 v13.00a)

  1. 試用 UltraEdit  人以打開一個文本文件,可以不用關心其編碼.(Notepad創建的文件的默認編碼還是當前code page設定的編碼,在簡體中文環境下是 CP936, 即 GBK)
  2. 設定 UltraEdit 當前的 code page: 選擇 "View -> Set Code Page", 然後選擇你需要的code page. 這樣後面執行的編碼轉換操作都是根據這裏設定的 code page 進行的.
  3. 選擇 "Edit -> Hex Function -> Hex Edit" 進入Hex編輯模式,這樣你可以輸入任意你需要的16進制數字,例如 4E02(Unicode) 或者 8140(GBK) ( "丂" )
  4. 轉換: 根據你當前的文件的編碼,選擇 "File -> Conversions -> Unicode to ASCII" 或者 "File -> Conversions -> ASCII to Unicode", 這裏的ASCII就是便是當前的 Code Page便是的編碼。

有一點需要註意:如何顯示轉換的結果?

  1. 首先需要適當的字體,例如如果你的Windows是簡體中文,而你想要轉換 Unicode -> Big5,那麽你需要 Big5 字體。從http://www.unifont.org/可以下載到很多字體。
  2. 即使有了合適的字體也不一定能正確的顯示。我將我的系統 code page 設定成 CP950(Big5), 重起後將 UltraEdit 的 Code Page 設定成 CP936,然後轉換 GBK <-> Unicode,結果是能夠顯示 Unicode編碼的簡體中文字符,而不能顯示 GBK 編碼的中文字符。估計可能是和字體的處理有關,字體處理如果和當前的 code page 有關的話,這種設定的不一致就會造成無法正確顯示。不過在系統code page 是 CP936的情況下在選擇了正確的字體後能顯示繁體Big5-HKSCS的字符。
  3. 從 http://www.Microsoft.com/globaldev/reference/WinCP.mspx 可以看到不同 Code Page 的編碼轉換表。

Tags: ultraedit Windows google 簡體中文 文本文件

文章來源:


ads
ads

相關文章
ads

相關文章

ad