Domanda

Esiste un metodo C # che funziona in modo simile a Convert.ToBase64String ma non genera nulla, tranne uscita alfanumerico?

Grazie!

È stato utile?

Soluzione

Probabilmente stai cercando di utilizzare qualcosa come la codifica Base32 poi. C'è un encoder Base32 / decoder per C # qui di Michael Giagnocavo. Esso utilizza una combinazione di lettere maiuscole e numeri.

C'è anche spiegazioni dettagliate sulla StackOverflow qui .

Modifica E se per caso questo è per la codifica Base64 correlate sicuro per le URL, basta fare Base64 e sostituire "+" con "-" e "/" con "_". Ma sto cercando di indovinare, non si può decidere per questo.

Altri suggerimenti

Le risposte sono un po 'obsolete ora. A vantaggio dei ricercatori futuri: Il modo migliore per gestire questa ora in C # è:

byte[] b; // fill your byte array somehow
string s = System.Web.HttpServerUtility.UrlTokenEncode(b);

Questo restituisce una stringa con codifica Base64 che è sicuro per le URL (che è quello che hai detto che eri davvero dopo nei commenti alla tua domanda).

È quindi possibile decodificare nuovamente utilizzando, avete indovinato:

byte[] b = System.Web.HttpServerUtility.UrlTokenDecode(s);

è possibile sostituire + o tagliare con una certa stringa predefinita, se possibile.

Una variante comune di base 64 (per l'uso su stringa di query) consiste nell'utilizzare '-' e '_' al posto di '+' e '/'. Forse un po 'di Replace(...) ad ogni estremità farebbe il lavoro?

È possibile utilizzare BitConverter.ToString (), che vi darà una stringa esadecimale. Tuttavia le stringhe risultanti saranno più di codifica Base64.

ero alla ricerca di un tale come encoder e ho usato https://github.com/renmengye/ base62-csharp /

Si tratta di un codificatore / decodificatore nella gamma spazio carattere "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".

Ho appena avvolto i suoi metodi con

System.Text.Encoding.UTF8.GetBytes(plainText); e System.Text.Encoding.UTF8.GetString(decoded);

chiamate per consentire di lavorare facilmente con le stringhe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top