C# Base64String과 같은 C# 방법이지만 영숫자 (플러스 또는 슬래시 없음)
-
06-09-2019 - |
문제
Convert.tobase64String과 유사하지만 영숫자 출력을 제외한 아무것도 생성하지 않는 C# 메소드가 있습니까?
감사!
다른 팁
답은 이제 약간 구식입니다. 미래의 검색 자의 이점 : C#에서 지금이를 처리하는 가장 좋은 방법은 다음과 같습니다.
byte[] b; // fill your byte array somehow
string s = System.Web.HttpServerUtility.UrlTokenEncode(b);
이것은 URL-SAFE 인 Base64- 인코딩 된 문자열을 반환합니다 (이것은 당신이 당신의 질문에 대한 의견에서 실제로 당신이 말한 것입니다).
그런 다음 다시 사용하여 해독 할 수 있습니다.
byte[] b = System.Web.HttpServerUtility.UrlTokenDecode(s);
가능하면 사전 정의 된 문자열로 + 또는 슬래시를 교체 할 수 있습니다.
Base-64의 일반적인 변형 (쿼리 스트링에 사용)은 '+'및 '/'대신 '-'및 '_'를 사용하는 것입니다. 아마도 약간 Replace(...)
각 끝에서 일을할까요?
BitConverter.toString ()을 사용하여 16 진수를 제공 할 수 있습니다. 그러나 결과 문자열은 Base64 인코딩보다 길다.
나는 인코더와 같은 것을 찾고 있었고 나는 https://github.com/renmengye/base62-csharp/
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHGGHIJKLMNOPQRSTUVWXYZ"캐릭터 공간 범위의 인코더/디코더입니다.
방금 방법을 감았습니다
System.Text.Encoding.UTF8.GetBytes(plainText);
그리고System.Text.Encoding.UTF8.GetString(decoded);
문자열로 쉽게 작동하도록합니다.