Base64 в C # и PL / SQL? - PullRequest
       12

Base64 в C # и PL / SQL?

1 голос
/ 25 января 2011

В PL / SQL как я могу преобразовать строку (длинную строку HTML с новой строкой, тегами и т. Д.) В Base64, который легко расшифровать в C #?

В C # есть:

Convert.ToBase64String()
Convert.ToBase64CharArray()
BitConverter.ToString()

, который совместим с PL / SQL

utl_encode.base64_encode();

Я приветствую любые другие предложения: -)

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

Я сделал это: -)

PL / SQL

s1 varchar2(32767);
s2 varchar2(32767);

s2:= utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(s1)));
s2:= utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw(s1)));

совместимы с C #

public static string ToBase64(string str)
{
         return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
}

//++++++++++++++++++++++++++++++++++++++++++++++

public static string FromBase64(string str)
{
         return Encoding.UTF8.GetString(Convert.FromBase64String(str));
}

надеюсь, вы найдете это полезным: -)

1 голос
/ 28 января 2011

Возможно, вы захотите использовать этот метод:

Convert.ToBase64String()

Возвращает строку в кодировке Base64, основанную на массиве 8-разрядных целых чисел без знака (в байтах).

В качестве альтернативы вы можете использовать Convert.ToBase64CharArray(), но на выходе получается массив символов, который немного странный, но может быть полезен при определенных обстоятельствах.

Метод BitConverter.ToString() возвращает строку, но байты представлены в шестнадцатеричном, а не в кодировке Base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...