【发布时间】:2019-02-23 14:33:01
【问题描述】:
我发现WideStringToString() function 可以将 Unicode 字符串转换为 ANSI 字符串。我需要将àèéìòù 之类的字符串转换为aeeiou,因此应删除所有重音符号。我认为可以使用该功能完成,但我应该使用哪个代码页?
【问题讨论】:
-
您或许可以从 TEncoding.Unicode 转换为 TEncoding.ASCII。后者绝对不会包含任何口音。请参阅TEncoding 的帮助。
-
@RudyVelthuis 除了重音符号可能会被转换为
?而不是对应的 ASCII 字符。TEncoding不擅长音译 -
@Remy:它似乎适用于我下面示例代码中的重音符号。但显然不适用于像 epsilon 这样的外来字符。当然,这不是谷歌翻译。
-
@UliGerhardt:请注意,接受的答案使用 WideCharToMultiByte,TEncoding 也使用它(在 Windows 上)。
标签: delphi