using System.Globalization;
public static void Main(string[] args)
for (byte character = 0; character < byte.MaxValue; character++)
Console.WriteLine("{0} = {1} | {2}", character, ((char)character).ToString(), RemoveDiacritics(((char)character).ToString()));
static string RemoveDiacritics(string text)
var normalizedString = text.Normalize(NormalizationForm.FormD);
var stringBuilder = new StringBuilder();
foreach (var c in normalizedString)
var unicodeCategory = CharUnicodeInfo.GetUnicodeCategory(c);
if (unicodeCategory != UnicodeCategory.NonSpacingMark)
return stringBuilder.ToString().Normalize(NormalizationForm.FormC);