Convert.ToBase64String と同様に機能するが、英数字出力以外は何も生成しない C# メソッドはありますか?
ありがとう!
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);
base-64の一般的な変形(クエリ文字列で使用)は、「+」と「/」の代わりに「-」と「_」を使用することです。おそらく、Replace(...)
両端で少しずつ仕事をするでしょうか?
可能であれば、+ またはスラッシュを定義済みの文字列に置き換えることができます。
BitConverter.ToString() を使用すると、16 進文字列が得られます。ただし、結果の文字列は Base64 エンコーディングよりも長くなります。