c# – 将特殊字符转换为普通字符
发布时间:2020-12-16 00:23:24 所属栏目:百科 来源:网络整理
导读:我需要一种方法来转换像这样的特殊字符: Hello? 正常人物.所以这个词最终会成为Helloae.到目前为止,我已经尝试过HttpUtility.Decode,或者将UTF8转换为win1252的方法,但没有任何效果.是否有一些简单而通用的东西可以完成这项工作? 谢谢. 编辑 我尝试使用OC
我需要一种方法来转换像这样的特殊字符:
Hello? 正常人物.所以这个词最终会成为Helloae.到目前为止,我已经尝试过HttpUtility.Decode,或者将UTF8转换为win1252的方法,但没有任何效果.是否有一些简单而通用的东西可以完成这项工作? 谢谢. 编辑 我尝试使用OC上的帖子来实现这两种方法.这是方法: public static string ConvertUTF8ToWin1252(string _source) { Encoding utf8 = new UTF8Encoding(); Encoding win1252 = Encoding.GetEncoding(1252); byte[] input = _source.ToUTF8ByteArray(); byte[] output = Encoding.Convert(utf8,win1252,input); return win1252.GetString(output); } // It should be noted that this method is expecting UTF-8 input only,// so you probably should give it a more fitting name. private static byte[] ToUTF8ByteArray(this string _str) { Encoding encoding = new UTF8Encoding(); return encoding.GetBytes(_str); } 但它没有奏效.字符串保持不变. 解决方法
见:
Does .NET transliteration library exists?
UnidecodeSharpFork 用法: var result = "Hello?".Unidecode(); Console.WriteLine(result) // Prints Helloae (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |