79E*_*796 11
要简单地从unicode字符中去除重音符号,您可以使用以下内容:
string.Concat(input.Normalize(NormalizationForm.FormD).Where(
c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark));
Run Code Online (Sandbox Code Playgroud)
从技术上讲,是的,您可以使用Encoding.ASCII.
示例(从 byte[] 到 ASCII):
// Convert Unicode to Bytes
byte[] uni = Encoding.Unicode.GetBytes("Whatever unicode string you have");
// Convert to ASCII
string Ascii = Encoding.ASCII.GetString(uni);
Run Code Online (Sandbox Code Playgroud)
只要记住 Unicode 是比 Ascii 大得多的标准,就会有一些字符根本无法正确编码。请查看此处的表格和有关这两种编码的更多信息。
这取决于你所说的“转换”是什么意思。
\n您可以使用AnyAscii包进行音译。
\n// C#\nusing AnyAscii;\n\nstring s = "\xce\xac\xce\xbd\xce\xb8\xcf\x81\xcf\x89\xcf\x80\xce\xbf\xce\xb9".Transliterate();\n// anthropoi\nRun Code Online (Sandbox Code Playgroud)\n
嗯,鉴于 unicode 字符有 100,000 多个,而 ASCII 字符只有 128 个,1-1 映射显然是不可能的。
不过,您可以使用该Encoding.ASCII对象从 Unicode 字符串中获取 ASCII 字节值。