Pregunta

¿hay algún método C # que funciona de forma similar a Convert.ToBase64String pero no genera nada, excepto la salida alfanumérica?

Gracias!

¿Fue útil?

Solución

Probablemente se esté mirando usando algo como Base32 codificación a continuación. Hay un codificador Base32 / decodificador para C # aquí por Michael Giagnocavo. Utiliza una combinación de letras y números en mayúsculas.

También hay una discusión relacionada en StackOverflow aquí .

EDIT: Y si, por casualidad, esto es para-URL segura codificación Base64 relacionada, acaba de hacer base 64 y reemplazar "+" con "-" y "/" por "_". Pero supongo, puede que no quiera que para eso.

Otros consejos

Las respuestas son un poco anticuado ahora. Para el beneficio de los futuros buscadores: La mejor manera de manejar esto ahora en C # es:

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

Esto devuelve una cadena con codificación Base64 que es segura-URL (que es lo que dijo que estaba realmente después en los comentarios a su pregunta).

A continuación, puede decodificar de nuevo utilizando, lo has adivinado:

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

puede reemplazar + o recortar con alguna cadena predefinida, si es posible.

Una variante común de base-64 (para el uso en query-string) es utilizar '-' y '_' en lugar de '+' y '/'. Tal vez un poco de Replace(...) en cada extremo haría el trabajo?

Puede utilizar BitConverter.ToString () que le dará una cadena hexadecimal. Sin embargo, las cadenas resultantes serán más largos que la codificación Base64.

Yo estaba buscando un tales como codificador y solía https://github.com/renmengye/ base62-csharp /

Es un codificador / descodificador de gama espacio de carácter "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".

I acaba de terminar sus métodos con

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

Llamadas para permitir que funcione fácilmente con cuerdas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top