【发布时间】:2011-03-09 00:09:26
【问题描述】:
例如(顺便说一句,我使用的是韩语 IME)我可以通过发送“xodnek”(作为字符串)获得태우다吗?
如果这不可能,我可以从它的单个字符ㅌㅐㅇㅜㄷㅏ(来自键“xodnek”)中得到 태우다。
【问题讨论】:
标签: windows internationalization ime
例如(顺便说一句,我使用的是韩语 IME)我可以通过发送“xodnek”(作为字符串)获得태우다吗?
如果这不可能,我可以从它的单个字符ㅌㅐㅇㅜㄷㅏ(来自键“xodnek”)中得到 태우다。
【问题讨论】:
标签: windows internationalization ime
如果您使用的是 .NET,则可以使用以下方法:
var s = "ㅌㅐㅇㅜㄷㅏ";
s = s.Normalize(NormalizationForm.FormKC);
// s now contains "태우다"
在原生Win32中,对应的调用是NormalizeString:
wchar_t *input = L"ㅌㅐㅇㅜㄷㅏ";
wchar_t output[100];
NormalizeString(NormalizationKC, input, -1, output, 100);
NormalizeString 仅在 Windows Vista+ 中可用。如果你想在 XP 上使用它,你需要安装“Microsoft Internationalized Domain Name (IDN) Mitigation APIs”(为什么它在 IDN 下载中,我不明白......)
请注意,这些方法实际上都不需要使用 IME - 无论您是否安装了韩语 IME,它们都可以工作。
【讨论】: