- 카테고리:
문자열 및 이진 함수 (인코딩/디코딩)
BASE64_ENCODE¶
Base64 인코딩을 사용하여 입력(문자열 또는 이진)을 인코딩합니다.
구문¶
BASE64_ENCODE( <input> [ , <max_line_length> ] [ , <alphabet> ] )
인자¶
필수:
input
인코딩할 문자열 또는 이진 식입니다.
선택 사항:
max_line_length
출력의 한 줄에 있는 최대 문자 수를 지정하는 양의 정수입니다.
기본값:
0
(줄 바꿈이 삽입되지 않음을 지정함(즉, 최대 줄 길이가 무한함))alphabet
최대 3개의 ASCII 문자로 구성된 문자열:
문자열의 처음 두 문자는 입력을 인코딩하는 데 사용되는 알파벳의 마지막 두 문자(인덱스 62 및 63)를 지정합니다.
A
~Z
(인덱스 0-25)a
~z
(인덱스 26-51)0
~9
(인덱스 52-61)+
및/
(인덱스 62, 63)
기본값:
+
및/
문자열의 세 번째 문자는 패딩에 사용되는 문자를 지정합니다.
기본값:
=
반환¶
문자열을 반환합니다(입력이 문자열이든 BINARY
이든 상관없음).
사용법 노트¶
alphabet
문자열의 문자는 위치적으로 구문 분석됩니다. 문자열의 두 번째 또는 세 번째 위치에 다른 문자를 지정하려면, 기본값을 사용하려는 경우에도 앞의 모든 문자를 명시적으로 지정해야 합니다.예:
+$
는 인덱스 62에 대해 기본값(+
)을 지정하고 인덱스 63에 대해 다른 문자($
)를 지정합니다. 패딩에 대해 명시적으로 지정된 문자가 없으므로 기본 문자(=
)가 사용됩니다.+/%
는 인덱스 62 및 63에 대한 기본값(+
및/
)을 지정하고 패딩에 대해 다른 문자(%
)를 지정합니다.
alphabet
을 인코딩할input
문자열을 지정하는 경우,input
을 디코딩하는 데 반드시 동일 문자열을 사용해야 합니다.
base64 형식에 대한 자세한 내용은 base64 를 참조하십시오.
반환¶
이는 base64 인코딩에 사용된 문자만 포함하는 문자열을 반환합니다.
예¶
Base64를 사용하여 문자열을 인코딩합니다.
SELECT BASE64_ENCODE('Snowflake');
----------------------------+
BASE64_ENCODE('SNOWFLAKE') |
----------------------------+
U25vd2ZsYWtl |
----------------------------+
인코딩을 위해 ‘+’ 대신 ‘$’와 함께 Base64를 사용하여 ASCII 이외의 문자가 포함된 문자열을 인코딩하고, 최대 줄 길이가 32인 문자열을 출력합니다.
SELECT BASE64_ENCODE('Snowflake ❄❄❄ Snowman ☃☃☃',32,'$');
---------------------------------------------------+
BASE64_ENCODE('SNOWFLAKE ❄❄❄ SNOWMAN ☃☃☃',32,'$') |
---------------------------------------------------+
U25vd2ZsYWtlIOKdhOKdhOKdhCBTbm93 |
bWFuIOKYg$KYg$KYgw== |
---------------------------------------------------+
이는 BASE64_ENCODE
(및 BASE64_DECODE_STRING
)를 사용하는 또 다른 예를 보여줍니다.
테이블과 데이터를 만듭니다.
CREATE OR REPLACE TABLE base64_table (v VARCHAR, base64_string VARCHAR); INSERT INTO base64_table (v) VALUES ('HELLO'); UPDATE base64_table SET base64_string = BASE64_ENCODE(v);이제
BASE64_DECODE_STRING
을 사용하여 쿼리를 실행합니다.SELECT v, base64_string, BASE64_DECODE_STRING(base64_string) FROM base64_table; +-------+---------------+-------------------------------------+ | V | BASE64_STRING | BASE64_DECODE_STRING(BASE64_STRING) | |-------+---------------+-------------------------------------| | HELLO | SEVMTE8= | HELLO | +-------+---------------+-------------------------------------+