Erw*_*tza 5 delphi unicode diacritics delphi-xe
将Delphi XE AnsiString转换为包含像"Fu\u0308rst"这样的变音符号转换为frienly WideString"Fürst"的最佳方法是什么?
我知道这并不总是可以用于所有组合,但是应该支持常见的Latin块而不用自己构建愚蠢的转换表.我想解决方案可以在新的Characters单元中找到,但是我没有得到它.
我认为您需要执行Unicode 规范化。在你的绳子上。
\n\n我不知道 Delphi XE RTL 中是否有特定的调用来执行此操作,但 WinAPI 调用NormalizeString应该可以帮助您,使用模式 NormalizationKC:
\n\n\n\n标准化KC
\n\nUnicode 规范化形式 KC,兼容性组合。将每个基本字符和组合字符转换为规范的预组合字符,并将所有兼容字符转换为其等效字符。例如,连字 \xef\xac\x81 变为 f + i;类似地,A + \xc2\xa8 + \xef\xac\x81 + n 变为 \xc3\x84 + f + i + n。
\n
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |