我有一个发送unicode输入文件的客户端,并且只需要ASCII编码文件 - 为什么不重要。
有没有人知道将unicode字符串转换为最接近ASCII字符串的例程?我希望将像'ä'这样的常见unicode字符替换为最佳ASCII表示。
例如:'ä' - > 'A'
数据驻留在SQL Server中,但我也可以在C#中作为下游机制或CLR程序工作。
答案 0 :(得分:0)
只需循环遍历字符串。为每个角色做一个开关:
switch(inputCharacter)
{
case 'ä':
outputString = "ae";
break;
case 'ö':
outputString = "oe";
break;
...
(这些翻译在德语中很常见,只有ASCII)
然后将所有outputStrings与StringBuilder组合在一起。
答案 1 :(得分:0)
我认为你的意思是扩展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();