Base64
Base64
toBase64와 fromBase64 함수는 바이너리 데이터를 Base64로 인코딩하거나 디코딩하는 함수예요.
출처: 문서
본문
인코딩 방식은 java.util.Base64.Encoder를 따르는 것을 기준으로 해요.
toBase64는 입력 바이너리 데이터(bytes타입)의 Base64 인코딩 문자열을 반환해요.fromBase64는 Base64 인코딩 문자열에서 바이너리 데이터(16진수 문자열로 표현)를 반환해요.
시그니처 (Signature)
toBase64(bytesCol)
fromBase64(stringCol)
사용 예시 (Usage Examples)
가독성을 위해 다음 예시는 toUtf8 함수로 문자열 hello!를 BYTES로 변환하고, 디코딩된 BYTES는 fromUtf8을 사용해 문자열로 변환해요.
SELECT toBase64(toUtf8('hello!')) AS encoded
FROM ignoreMe
| encoded |
|---|
| aGVsbG8h |
SELECT fromUtf8(fromBase64('aGVsbG8h')) AS decoded
FROM ignoreMe
| decoded |
|---|
| hello! |
UTF-8 문자열 변환 없이는 반환된 BYTES가 Pinot의 BYTES 컬럼 표현을 따라 16진수 문자열로 표현된다는 점에 주의하세요. 아래 예시를 확인하세요.
SELECT fromBase64('aGVsbG8h') AS decoded
FROM ignoreMe
| decoded |
|---|
| 68656c6c6f21 |
주의: 아래 쿼리는 문자열이 toBase64의 유효한 입력 타입이 아니므로 컴파일 오류를 던질 거예요.
SELECT toBase64('hello!') AS encoded
FROM ignoreMe