[英]Unicode to ASCII with character translations for umlats
我有一个客户端,它发送unicode输入文件,并且只要求返回ASCII编码的文件-为什么不重要。
有谁知道将unicode字符串转换为与ASCII字符串最接近的例程的例程吗? 我正在寻找将常见的Unicode字符(如“ä”)替换为最佳的ASCII表示形式。
例如:'ä'->'a'
数据驻留在SQL Server中,但是我也可以作为下游机制或CLR过程在C#中工作。
只需遍历字符串即可。 为每个字符进行切换:
switch(inputCharacter)
{
case 'ä':
outputString = "ae";
break;
case 'ö':
outputString = "oe";
break;
...
(这些翻译仅在德语和ASCII中通用)
然后将所有outputString与StringBuilder组合。
我认为您的意思是将ASCII扩展为ASCII
只是一个简单的字典
Dictionary<char, char> trans = new Dictionary<char, char>() {...}
StringBuilder sb = new StringBuilder();
foreach (char c in string.ToCharArray)
{
if((Int)c <= 127)
sb.Append(c);
else
sbAppend(trans[c]);
}
string ascii = sb.ToString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.