如何转换为键盘字符

Adr*_*ica 3 .net c# encoding

我有一个用各种奇怪的字符写的文字Ÿ????€ÀÈÉÌÒÓÙàèéìòóùºª«»€,我试图将它们转换成它们的正常等价物SAEIOUaeiou等等.我已经尝试了很多方法,但我不断得到混合结果,一些工作,一些不要吨.这是我到目前为止所做的:

byteArray1 = UnicodeEncoding.GetEncoding(1250).GetBytes(charArray);
byteArray2 = UnicodeEncoding.GetEncoding(852).GetBytes(charArray);
byteArray3 = UnicodeEncoding.GetEncoding(737).GetBytes(charArray);

resultArray1 = UTF7Encoding.GetEncoding(1250).GetChars(byteArray1);
resultArray2 = UTF7Encoding.GetEncoding(852).GetChars(byteArray2);
resultArray3 = UTF7Encoding.GetEncoding(737).GetChars(byteArray3); 
Run Code Online (Sandbox Code Playgroud)

是否有一些简单而明显(我怀疑)我缺少的东西?而且,如果我做的事情确实是错误的,请告诉我.

mad*_*dd0 5

如果您想要做的只是从字符中删除变音符号,我建议您查看此博客文章,其中介绍了如何操作.

ºª«»€尽管如此,它不会对字符做任何事情,但是如果你想要的话,你可以用一个简单的正则表达式删除变音符后去掉那些:

var noDiac = RemoveDiacritics("Ÿ????€ÀÈÉÌÒÓÙàèéìòóùºª«»€");
var cleanTxt = Regex.Replace(noDiac, "[^A-Z]", string.Empty, RegexOptions.IgnoreCase);
// outputs: YSsSsAEEIOOUaeeioou
Run Code Online (Sandbox Code Playgroud)