|
|
1
28
WideCharToMultiByte 对于指定的字符集不支持的任何字符(包括去除音调符号),都是最适合的映射。您可以使用它并将20127(US-ASCII)作为代码页传递,从而完全满足您的需要。
用你的例子来调用它会产生你想要的结果,包括emdash-to-minus大小写,我不认为这是由Jeroen的建议来处理的,将其转换为标准化形式d。如果你确实想采用这种方法,Michael Kaplan有一个 blog post 显式讨论了剥离音调符号(而不是一般的规范化),但它使用了C和在Vista中引入的API。您可以使用foldstring API(任何Winnt版本)获得类似的内容。 当然,如果您只对一个字符集执行此操作,并且希望避免从宽字符串转换到宽字符串和从宽字符串转换到宽字符串的开销,那么padu正确地认为简单的for循环和查找表也同样有效。 |
|
|
2
7
为了延长克雷格对Delphi2009的回答: 如果使用Delphi2009和更新版本,则可以使用具有相同结果的更可读代码:
不幸的是,此代码仅在MS Windows上有效。在Mac电脑上,重音符号不是用最合适的字符代替,而是用问号代替。 显然,Delphi内部在Windows上使用了WideChartoMultiByte,而在Mac上则使用了Iconv(请参见system.pas中的localeCharsfromUnicode)。 问题是,不同操作系统上的这种不同行为是否应被视为bug并报告给codeCentral。 |
|
|
3
3
我相信你最好的选择是创建一个查阅表格。 |
|
|
4
1
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
|
David · 何时实际应用字符编码? 1 年前 |
|
|
Karlomanio · 区分两个西里尔字母字符串 1 年前 |
|
|
Gabriel Lucizano · 为什么我无法访问C中的文件 2 年前 |
|
|
Mira Kumar · 在网页上显示特殊字符 2 年前 |
|
jay.sf · 如何在pdf中使用UTF-8编码的字符矢量? 2 年前 |
|
|
Kevin Patel · UTF-8内容在Java中是否可能格式错误 2 年前 |