DBMS 1
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
28.1. 개요 28.2. 함수 28.2.1. BASE64_DECODE 28.2.2. BASE64_ENCODE 28.2.3. TEXT_ENCODEUTL_ENCODE
본 절에서는 UTL_ENCODE 패키지에서 제공하는 함수를 알파벳 순으로 설명한다.
BASE64 형태로 인코딩된 RAW 타입의 문자열을 원래의 이진 값으로 변환하는 함수이다.
BASE64_DECODE 함수의 세부 내용은 다음과 같다.
FUNCTION BASE64_DECODE
(
r IN RAW
)
RETURN RAW;
파라미터
설명
r
원본 테이블과 새 테이블이 속한 스키마의 이름이다.
DECLARE
org raw(100);
enc raw(100);
BEGIN
org := 'aaabae64ecde';
enc := UTL_ENCODE.BASE64_ENCODE(org);
...
org := UTL_ENCODE.BASE64_DECODE(enc);
...
END;
/
RAW 타입의 이진 값을 BASE64 형태로 인코딩된 RAW 타입의 문자열로 변환하는 함수이다.
BASE64_ENCODE 함수의 세부 내용은 다음과 같다.
FUNCTION BASE64_ENCODE
(
r IN RAW
)
RETURN RAW;
파라미터
설명
r
인코딩할 RAW 타입의 문자열이다.
DECLARE
org raw(100);
enc raw(100);
BEGIN
org := 'aaabae64ecde';
enc := UTL_ENCODE.BASE64_ENCODE(org);
...
END;
/
문자 집합을 갖는 문자열을 인코딩하는 함수이다. 변경할 문자 집합에 따라 텍스트를 변환하고 인코딩한다.
TEXT_ENCODE 함수의 세부 내용은 다음과 같다.
FUNCTION TEXT_ENCODE
(
buf IN VARCHAR2,
encode_charset IN VARCHAR2 DEFAULT NULL,
encoding IN PLS_INTEGER DEFAULT NULL
)
RETURN VARCHAR2;
파라미터
설명
buf
인코딩할 문자열이다.
encode_charset
변경할 문자 집합을 지정한다. 단, 문자 집합을 변경하는 기능은 다음에 구현할 예정이므로, 기본값인 NULL로 이 파라미터를 지정한다.
encoding
인코딩할 타입을 지정한다.
(기본값: NULL이며, Quoted-printable 방식으로 인코딩한다.)
DECLARE
src VARCHAR2(32767);
tar VARCHAR2(32767);
BEGIN
src := 'tibero';
tar := UTL_ENCODE.TEXT_ENCODE(src, NULL, 1);
...
END;
/