Base64String のような C# メソッドですが、英数字のみ (プラスやスラッシュは含まれません)
-
06-09-2019 - |
質問
Convert.ToBase64String と同様に機能するが、英数字出力以外は何も生成しない C# メソッドはありますか?
ありがとう!
他のヒント
答えは今少し古くなっています。将来サーチャーの利益のために:C#で、今これを処理するための最良の方法です。
byte[] b; // fill your byte array somehow
string s = System.Web.HttpServerUtility.UrlTokenEncode(b);
これは(あなたがあなたの質問にコメントで本当に後だった言ったことである)URLセーフであるBase64でエンコードされた文字列を返します。
あなたはそれを再び使用してデコードすることができ、あなたはそれを推測します:
byte[] b = System.Web.HttpServerUtility.UrlTokenDecode(s);
あなたは+置き換えるか、可能な場合、いくつかの事前定義された文字列をスラッシュすることができます。
ベース64(クエリ文字列で使用するための)共通の変異体は、使用することです。おそらく、各端部にReplace(...)
のビットは、仕事をするのでしょうか?
あなたはあなたの16進文字列を与えるBitConverter.ToString()を使用することができます。しかし、結果の文字列は、Base64エンコーディングよりも長くなります。
Iエンコーダのようなそのような探していたと私が使用 https://github.com/renmengye/ base62-CSHARP / の
これは、 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 文字空間範囲内エンコーダ/デコーダです。
私はちょうど
とそのメソッドを包ん System.Text.Encoding.UTF8.GetBytes(plainText);
そして
System.Text.Encoding.UTF8.GetString(decoded);
これは文字列で簡単に作業できるようにするために呼び出します。