Frage

Gibt es eine C # Methode, die Convert.ToBase64String ähnlich funktioniert, aber erzeugt nichts außer alphanumerischer Ausgabe?

Danke!

War es hilfreich?

Lösung

Sie suchen wahrscheinlich dann so etwas wie Base32-Codierung. Es gibt einen Base32 Encoder / Decoder für C # hier von Michael Giagnocavo. Es verwendet eine Kombination aus Großbuchstaben und Zahlen.

Es gibt auch eine ähnliche Diskussion auf Stackoverflow hier .

EDIT: Und wenn durch Zufall dies für URL-safe verwandte Base64-Codierung, nur Base64 tun und "+" mit ersetzen "-" und "/" mit "_". Aber ich nehme an, dass Sie es nicht für das wollen.

Andere Tipps

Die Antworten sind jetzt ein wenig veraltet. Zum Wohle der zukünftigen Forscher: Der beste Weg, dies jetzt in C # zu handhaben ist:

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

Dies gibt eine Base64-codierte Zeichenfolge, die URL-sicher ist (das ist, was Sie sagen, Sie in den Kommentaren zu Ihrer Frage wirklich nach sind).

Sie können dann entschlüsseln Sie es erneut verwenden, Sie ahnen es:

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

Sie können ersetzen + oder mit einem vordefinierten Zeichenfolge zerschneiden, wenn möglich.

Eine gemeinsame Variante des Basis-64 (für den Einsatz auf Abfrage-String) zu verwenden ist ‚-‘ und ‚_‘ anstelle von ‚+‘ und ‚/‘. Vielleicht ein bisschen Replace(...) an jedem Ende würde die Arbeit machen?

Sie können mit BitConverter.ToString (), die Sie einen Hex-String geben. Allerdings werden die resultierenden Strings länger als Base64-Codierung.

Ich war für einen solchen wie Encoder suchen und ich https://github.com/renmengye/ Base62-csharp /

Es ist ein Encoder / Decoder in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" Zeichenraumbereich.

Ich wickelte nur ihre Methoden mit

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

nennt es zu ermöglichen, leicht mit Streichern zu arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top