Windows2000自帶的工具"中文轉碼器"很好用, 不僅可以轉內碼(BIG5-->GBK), 還可以將繁體字轉為簡體字(如:東-->東).
要轉內碼比較簡單, 使用MultiByteToWideChar先將簡體/繁體(GBK/BIG5)轉為UniCode, 再使用WideCharToMultiByte從Unicode轉為繁體/簡體(BIG5/GBK).
經過以上步驟, 就可以把BIG5碼轉為GBK碼,但是繁體中的字因為在GBK中大部分都有對應(繁體字形),因而,以上得到的是BIG5對應的繁體字形,如BIG5碼的 “東”($AA46)得到的GBK對應的字為“東”($967C),而不是簡體中最常用的“東”($B6AB)。
在中文轉碼器中,最后一頁提供了是否轉字形的選項,它可以做到!那我們也應該可以做到!經過調試,原來它是調用LCMapStringW!
在Windows.pas中,定義了三個這樣的函數(shù):
其中, LCMapString=LCMapStringA,也就是使用ASCII的,當然我們也可以使用LCMapStringW轉UniCode成為簡體字形。