首頁 > 後端開發 > C++ > 如何在C#中實作URL安全的Base64編碼和解碼?

如何在C#中實作URL安全的Base64編碼和解碼?

Susan Sarandon
發布: 2025-01-25 03:17:09
原創
280 人瀏覽過

How to Implement URL-Safe Base64 Encoding and Decoding in C#?

C# 中的 URL 安全 Base64 編碼

Base64 編碼是一種常見的編碼方式,但在進行 URL 安全編碼時,某些字元( 、/ 和 =)可能會造成問題。雖然 Java 的 Codec 函式庫提供了一個直接的解決方案,但 C# 需要稍微不同的方法。

實作 URL 安全編碼

要在 C# 中實現 URL 安全的 Base64 編碼,可以簡單地將有問題的字元替換為 URL 友善的字元(- 代替 ,_ 代替 /),並刪除任何填充字元 (=)。

<code class="language-csharp">string returnValue = System.Convert.ToBase64String(toEncodeAsBytes)
        .TrimEnd(padding).Replace('+', '-').Replace('/', '_');</code>
登入後複製

其中,padding 定義為:

<code class="language-csharp">static readonly char[] padding = { '=' };</code>
登入後複製

要反轉此過程:

<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>
登入後複製

與 Codec 函式庫的比較

值得注意的是,這種方法類似 Java 的 Codec 函式庫所使用的方法。但是,建議測試此假設以確保與正在使用的特定庫相容。

以上是如何在C#中實作URL安全的Base64編碼和解碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板