String tipinde ConvertLocalCracter isimli bir metodumuz var. yapmış olduğu iş şudur: içinde Tükçe karekterlerin (ÖöÜüĞğŞşİıÇç)de olduğu bir karekter katarı veriyi alıyor önce char[] dizi isimli Array dizisine ASCI karekteri olarak aktarıyor. sonra dizi uzunluğu kadar bir for döngüsü çalıştırıyor. Döngünün içinde if, else if ve else kontrolleri ile char dizisindeki veriyi karekter karekter kontrol ediyor eşleşmelerde byte[] cdizi sine ekliyor if ve else if kontrolüne takılmayan text içindeki sorunsuz karekterleri ise else kontrolünde yakalayıp byte[] dizisine ekliyor. for döngüsü bittiğindede byte[] dizisindeki verileri string tipinde veriye dönüştürüp ConvertLocalCracter metodunu çağıran kontrole geri yolluyor.
public string ConvertLocalCracter(string text)
{
char[] dizi = text.ToCharArray();
byte[] cdizi = new byte[dizi.Length];
for (int i = 0; i < dizi.Length; i++)
{
if (dizi[i] == 214)
cdizi[i] += 79;
else if (dizi[i] == 246)
cdizi[i] += 111;
else if (dizi[i] == 199)
cdizi[i] += 67;
else if (dizi[i] == 231)
cdizi[i] += 99;
else if (dizi[i] == 350)
cdizi[i] += 83;
else if (dizi[i] == 351)
cdizi[i] += 115;
else if (dizi[i] == 286)
cdizi[i] += 71;
else if (dizi[i] == 287)
cdizi[i] += 103;
else if (dizi[i] == 220)
cdizi[i] += 85;
else if (dizi[i] == 252)
cdizi[i] += 117;
else if (dizi[i] == 304)
cdizi[i] += 73;
else if (dizi[i] == 305)
cdizi[i] += 105;
else
cdizi[i] += (byte)dizi[i];
}
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string newText = enc.GetString(cdizi);
return newText;
}