Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Replikuj dekodowanie Javy w Base64 w PL/SQL

Spójrz na CAST_TO_RAW Dokumentacja:

Powinieneś użyć tego:

base64DecodedInput:= UTL_ENCODE.base64_decode(UTL_RAW.CAST_TO_RAW(TO_CHAR(valueToDecrypt)));
DBMS_OUTPUT.PUT_LINE ( 'Base64 decoded is: ' || base64DecodedInput);

00010203040506074DBBEAB1D9972AB0

Który (sformatowany) powinien być równy pożądanemu wynikowi:

00 01 02 03 04 05 06 07 4D BB EA B1 D9 97 2A B0

Używanie NVARCHAR2 jest całkiem bezużyteczne dla ciągu BASE64. Głównym celem kodowania BASE64 jest reprezentowanie dowolnych danych tylko za pomocą znaków ASCII, więc NVARCHAR2 nie ma sensu. Ponieważ BASE64 zawiera tylko ASCII, nie musisz się martwić o kodowanie znaków w CAST(... AS VARCHAR2(200)) .

Oczywiście dla dekodowanych typ danych ciągu NVARCHAR2 może być bardzo przydatne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć duplikaty z listy oddzielonej spacjami przez Oracle regexp_replace?

  2. Jak zrobić rekurencyjny blok kodu pl/sql, który działa z kilkoma wybranymi zdaniami?

  3. Jak korzystać z opcji UTWÓRZ LUB ZAMIEŃ?

  4. Jak przenieść plik zip do kolumny blob w Javie?

  5. Spring JDBC BeanPropertyRowMapper tak nie ('Y','N') na właściwości fasoli logicznej