Rumah > pembangunan bahagian belakang > C++ > Bagaimana cara menukar antara tatasusunan byte dan rentetan heksadesimal dalam .net?

Bagaimana cara menukar antara tatasusunan byte dan rentetan heksadesimal dalam .net?

Mary-Kate Olsen
Lepaskan: 2025-02-03 08:27:11
asal
999 orang telah melayarinya

How to Efficiently Convert Between Byte Arrays and Hexadecimal Strings in .NET?

dengan cekap menukar susunan byte dan rentetan heksadesimal dalam .net

Banyak tugas pengaturcaraan memerlukan menukar antara tatasusunan byte dan perwakilan rentetan heksadesimal mereka. .NET menawarkan beberapa kaedah, masing -masing dengan pelbagai tahap kecekapan bergantung pada versi .net.

Modern .Net (5 dan kemudian):

.NET 5 dan kemudian versi menyediakan fungsi terbina dalam yang dioptimumkan:

  • : Convert.ToHexString() Menukar array byte terus ke dalam rentetan heksadesimal.
  • : Convert.FromHexString() Menukar rentetan heksadesimal ke dalam array byte. Kaedah ini biasanya merupakan pendekatan yang paling berkesan dan disyorkan untuk projek .NET yang lebih baru.

versi yang lebih tua. NET:

Untuk rangka kerja yang lebih tua. NET, penukaran manual diperlukan. Berikut adalah beberapa kaedah biasa:

Kaedah 1: Pendekatan (untuk penukaran rentetan heksadesimal): StringBuilder

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

Kaedah 2: Pendekatan (untuk penukaran rentetan heksadesimal): BitConverter

public static string ByteArrayToHex(byte[] ba)
{
    return BitConverter.ToString(ba).Replace("-", "");
}
Salin selepas log masuk

rentetan hexadecimal ke penukaran array byte:

public static byte[] HexStringToByteArray(string hex)
{
    int len = hex.Length;
    byte[] arr = new byte[len / 2];
    for (int i = 0; i < len; i += 2)
    {
        arr[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
    }
    return arr;
}
Salin selepas log masuk

Pertimbangan Prestasi:

Walaupun

dan Substring umumnya cekap, kaedah optimum bergantung kepada aplikasi tertentu. Kaedah terbina dalam .NET 5 menawarkan baki prestasi terbaik. Untuk versi yang lebih lama, profil kod anda akan membantu menentukan pendekatan terpantas untuk kes penggunaan anda. Pertimbangkan perdagangan antara prestasi dan kebolehbacaan kod semasa memilih kaedah. Convert.ToByte

Atas ialah kandungan terperinci Bagaimana cara menukar antara tatasusunan byte dan rentetan heksadesimal dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan