Heim >Backend-Entwicklung >C++ >Wie kodiere und dekodiere ich geänderte Base64-URLs in ASP.NET Framework?
Wie im „Modified Base64 for URLs“-Konzept definiert, kann die Dekodierung und Kodierung modifizierter Base64-URLs durch benutzerdefinierten Code oder durch die Nutzung von Methoden in der Klasse HttpServerUtility
implementiert werden.
Um eine modifizierte Base64-Codierung durchzuführen, können Sie den folgenden Code verwenden:
<code class="language-csharp">// 执行正常的 base64 编码 byte[] encodedBytes = Encoding.UTF8.GetBytes(unencodedText); string base64EncodedText = Convert.ToBase64String(encodedBytes); // 应用 URL 变体 string base64UrlEncodedText = base64EncodedText.Replace("=", "").Replace('+', '-').Replace('/', '_');</code>
Zur Dekodierung können Sie den folgenden Code verwenden:
<code class="language-csharp">string base64EncodedText = base64UrlEncodedText.Replace('-', '+').Replace('_', '/'); // 根据需要追加“=”字符 - 最佳方法是什么? // 我正常的 base64 解码现在使用 encodedText</code>
Alternativ können Sie die Methoden HttpServerUtility
und UrlTokenEncode
der Klasse UrlTokenDecode
verwenden:
<code class="language-csharp">///<summary> /// 使用 UTF-8 字符集进行 Base 64 编码,使用 URL 和文件名安全字母表。 ///</summary> ///原始字符串 ///<returns>Base64 编码的字符串</returns> public static string Base64ForUrlEncode(string str) { byte[] encbuff = Encoding.UTF8.GetBytes(str); return HttpServerUtility.UrlTokenEncode(encbuff); } ///<summary> /// 使用 UTF-8 解码使用 URL 和文件名安全字母表的 Base64 编码字符串。 ///</summary> ///Base64 代码 ///<returns>解码后的字符串。</returns> public static string Base64ForUrlDecode(string str) { byte[] decbuff = HttpServerUtility.UrlTokenDecode(str); return Encoding.UTF8.GetString(decbuff); }</code>
Hinweis 1: Die Ausgabe der Methode HttpServerUtility
ist keine gültige Base64-Zeichenfolge, da sie einige Zeichen durch URL-sichere Zeichen ersetzt.
Hinweis 2: Das Ausgabeformat von HttpServerUtility
unterscheidet sich vom base64url-Algorithmus in RFC4648, da es „=“ je nach Anzahl durch „0“, „1“ oder „2“ ersetzt Gleichheitszeichen ersetzt Padding, um die URL-Sicherheit zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kodiere und dekodiere ich geänderte Base64-URLs in ASP.NET Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!