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