[英]C# Method like Base64String, but only alphanumeric (no plus or slash)
是否有任何C#方法與Convert.ToBase64String類似,但除了字母數字輸出外不生成任何內容?
謝謝!
答案現在有點過時了。 為了未來的搜索者的利益:現在在C#中處理這個問題的最佳方法是:
byte[] b; // fill your byte array somehow
string s = System.Web.HttpServerUtility.UrlTokenEncode(b);
這將返回一個Base64編碼的字符串,該字符串是URL安全的(這就是你在評論的評論中所說的那樣)。
然后你可以使用,你猜對了它再解碼它:
byte[] b = System.Web.HttpServerUtility.UrlTokenDecode(s);
如果可能的話,你可以用一些預定義的字符串替換+或斜杠。
base-64的常見變體(用於查詢字符串)是使用' - '和'_'代替'+'和'/'。 或許在每一端都有一點Replace(...)
可以完成這項工作嗎?
我正在尋找像編碼器這樣的編碼器,我使用https://github.com/renmengye/base62-csharp/
它是“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz”字符空間范圍中的編碼器/解碼器。
我只是把它的方法包裝好了
System.Text.Encoding.UTF8.GetBytes(plainText);
和System.Text.Encoding.UTF8.GetString(decoded);
調用允許它使用字符串輕松工作。
您可以使用BitConverter.ToString(),它將為您提供十六進制字符串。 但是,生成的字符串將比Base64編碼長。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.