SORU
22 Kasım 2008, CUMARTESİ


Nasıl Onaltılık Dize ve Başkan versa için Bayt Dizisi dönüştürme?

Bu muhtemelen İnternet üzerinden ortak bir sorudur, ama düzgünce onaltılık dize ve Başkan Yardımcısı için bir bayt dizisi tam tersi dönüştürebilirsiniz nasıl açıklayan bir cevap bulamadım.

CEVAP
22 Kasım 2008, CUMARTESİ


Ya da:

public static string ByteArrayToString(byte[] ba)
{
  StringBuilder hex = new StringBuilder(ba.Length * 2);
  foreach (byte b in ba)
    hex.AppendFormat("{0:x2}", b);
  return hex.ToString();
}

ya da:

public static string ByteArrayToString(byte[] ba)
{
  string hex = BitConverter.ToString(ba);
  return hex.Replace("-","");
}

Bu, örneğin here işin daha da çeşitleri vardır.

Ters dönüşüm şöyle:

public static byte[] StringToByteArray(String hex)
{
  int NumberChars = hex.Length;
  byte[] bytes = new byte[NumberChars / 2];
  for (int i = 0; i < NumberChars; i  = 2)
    bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
  return bytes;
}

Substring Convert.ToByte ile birlikte en iyi seçenek. Daha fazla bilgi için this answer bkz. Eğer daha iyi performans istiyorsanız, SubString bırak önce Convert.ToByte kaçınmak gerekir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006
  • Viktorija A.

    Viktorija A.

    28 Mart 2009