Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Unicode转换为ASCII_C#_.net - Fatal编程技术网

C# 将Unicode转换为ASCII

C# 将Unicode转换为ASCII,c#,.net,C#,.net,可能重复: 我将采用不一定是英语的名称,并且需要将它们转换为基本的对应名称。即音译为e 例如,我不必担心将日语字母转换成英语字母 有没有办法做到这一点 谢谢 答复: public void ConvertDiacritic() { nameInFull = nameInFull.Normalize(NormalizationForm.FormD); StringBuilder sb = new StringBuilder(); for (

可能重复:

我将采用不一定是英语的名称,并且需要将它们转换为基本的对应名称。即音译为e

例如,我不必担心将日语字母转换成英语字母

有没有办法做到这一点

谢谢

答复:

public void ConvertDiacritic()
    {
        nameInFull = nameInFull.Normalize(NormalizationForm.FormD);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < nameInFull.Length; i++)
        {
            UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(nameInFull[i]);
            if (uc != UnicodeCategory.NonSpacingMark)
            {
                sb.Append(nameInFull[i]);
            }
        }
        nameInFull = sb.ToString().Normalize(NormalizationForm.FormC);
    }

é是一个有效的ASCII字符。你的意思是?Justin,é绝对不是ASCII码,因为ASCII码是7位代码,onyl包含无重音的拉丁字母。@Joey,同意,你发布的那个更正确。但它没有给出我想要的答案。@Justin,它不是ASCII码,但在大多数扩展ASCII页面中都有。它的Unicode是0xE9