Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Pengekodan dan Penyahkodan Base64 URL-Safe dalam C#?
Pengekodan Base64 yang selamat URL dalam C#
Pengekodan Base64 ialah pengekodan biasa, tetapi aksara tertentu ( , / dan =) boleh menyebabkan masalah apabila pengekodan selamat URL dilakukan. Walaupun perpustakaan Codec Java menyediakan penyelesaian yang mudah, C# memerlukan pendekatan yang sedikit berbeza.
Laksanakan pengekodan selamat URL
Untuk melaksanakan pengekodan Base64 yang selamat URL dalam C#, anda boleh menggantikan aksara yang bermasalah dengan aksara mesra URL (- bukannya , _ bukannya /), dan alih keluar sebarang aksara padding (=).
<code class="language-csharp">string returnValue = System.Convert.ToBase64String(toEncodeAsBytes) .TrimEnd(padding).Replace('+', '-').Replace('/', '_');</code>
Antaranya, padding ditakrifkan sebagai:
<code class="language-csharp">static readonly char[] padding = { '=' };</code>
Untuk membalikkan proses ini:
<code class="language-csharp">string incoming = returnValue .Replace('_', '/').Replace('-', '+'); switch(returnValue.Length % 4) { case 2: incoming += "=="; break; case 3: incoming += "="; break; } byte[] bytes = Convert.FromBase64String(incoming); string originalText = Encoding.ASCII.GetString(bytes);</code>
Perbandingan dengan perpustakaan Codec
Perlu diperhatikan bahawa pendekatan ini serupa dengan yang digunakan oleh perpustakaan Codec Java. Walau bagaimanapun, adalah disyorkan untuk menguji andaian ini untuk memastikan keserasian dengan perpustakaan khusus yang digunakan.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengekodan dan Penyahkodan Base64 URL-Safe dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!