Pergunta

há algum método C # que funciona semelhante a Convert.ToBase64String mas não gera qualquer coisa, exceto a saída alfanumérico?

Obrigado!

Foi útil?

Solução

Você está olhando provavelmente usando algo como Base32 codificação de então. Há um Base32 codificador / decodificador para C # aqui por Michael Giagnocavo. Ele usa uma combinação de letras maiúsculas e números.

Há também uma discussão relacionada no StackOverflow aqui .

EDIT: E se por acaso isso é para URL-safe codificação Base64 relacionado, basta fazer Base64 e substituir "+" com "-" e "/" com "_". Mas eu estou supondo, você pode não querer que para isso.

Outras dicas

As respostas são um pouco desatualizado agora. Para o benefício de futuros pesquisadores: A melhor maneira de lidar com isso agora em C # é:

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

Este retorna uma string Base64 que é URL-safe (que é o que você disse que estava realmente depois nos comentários a sua pergunta).

Você pode então decodificá-lo novamente usando, você adivinhou:

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

Você pode substituir + ou barra com alguma string pré-determinada, se possível.

Uma variante comum de base-64 (para uso em query-string) é usar '-' e '_' no lugar de '+' e '/'. Talvez um pouco de Replace(...) em cada extremidade iria fazer o trabalho?

Você pode usar BitConverter.ToString () que lhe dará uma string hexadecimal. No entanto as cordas resultantes será mais longo do que a codificação Base64.

Eu estava procurando por um tal codificador como e eu usei https://github.com/renmengye/ base62-csharp /

É um codificador / decodificador no "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" gama espaço de caracteres.

Eu só embrulhado seus métodos com

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

chamadas para permitir que ele para trabalhar facilmente com strings.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top