C#’da hex2string ve string2hex işlemleri!
C’den C#’a geçerken en çok ihtiyacım olan birşeydi bu converterlar. Çalışmalarımda sürekli hex bir sayıyı (0xFC) string’e (“FC”) çevirme ihtiyacı duyuyordum. C#’ın geniş kütüphanesi sayesinde, bu problem tek satırla çözülebiliyor.
Diyelimki elinizde hex bir sayi var.
byte temp = 0xFC; gibi.
Bunu string’e çevirmek için yapmamız gereken tek şey;
string tempS = temp.ToString(“X2”); //—>>> tempS = “FC”; oldu.
.ToString(“X2”); buradaki X string’e çevirilecek sayının hexadecimal olduğunu belirtiyor. Bu “X2” yazmasaydık tempS’de 0xFC’nin decimal karşılığı olan “252” olacaktı.
“X2” buradaki 2’nin anlamı eğer sayımız 0x8 ise string’e çevrilirken bu sayının başına sıfır koyuluyor. Yani;
string tempS = 0x8.ToString(“X2”); //—>>> tempS = “08”; oldu.
hex2string işlemi bu kadar.
Şimdide tam tersi olan string2hex işlemini gerçekleştirelim. Bu da C#’da veri türlerinin Parse fonksiyonları ile çok kolaylıkla yapılabilmektedir.
Şöyle ki;
uint temp = uint.Parse(“08FC3E”, System.Globalization.NumberStyles.HexNumber); //—>>> temp = 0x08fc3e oldu.
Görüldüğü gibi burada da string bir veriyi hex sayıya çevirebildik. Yine aynı şekilde Parse fonksiyonunun 2. parametresi NumberStyles.HexNumber’ NumberStyles property’sinden HexNumber seçilmelidir. Aksi halde string içinde “FC” gibi bir parametre gelirse Exception oluşur.
Başka bir makalede görüşmek üzere….
Son Yorumlar