base64encode 함수

base64encode 함수

base64encode 함수는 문자열에 Base64 인코딩을 적용해요. Terraform 언어의 문자열은 유니코드 문자 시퀀스이므로, 이 함수는 문자열의 문자를 먼저 UTF-8로 인코딩한 다음 결과에 Base64 인코딩을 적용해요. 이 함수는 사실상 인코딩 이름을 UTF-8로 설정해 textencodebase64를 호출하는 것과 같아요.

출처: 문서

본문

base64encode는 문자열에 Base64 인코딩을 적용해요.

Terraform은 RFC 4648 section 4에 정의된 "표준" Base64 알파벳을 사용해요. Terraform 언어의 문자열은 바이트가 아니라 유니코드 문자 시퀀스이므로, 이 함수는 문자열의 문자를 먼저 UTF-8로 인코딩한 다음 그 결과에 Base64 인코딩을 적용해요.

Terraform 언어는 모든 문자열에 유니코드 정규화를 적용하므로, 문자열을 base64decode를 거쳐 다시 base64encode로 넘기면 원래 결과와 정확히 같지 않을 수 있어요.

Terraform 언어에서 크고 원시적인 바이너리 데이터를 직접 다루는 것은 권장하지 않지만, Base64 인코딩은 임의의 바이트 시퀀스를 표현하는 표준 방식이므로 바이너리 데이터를 받거나 반환하는 리소스 타입은 대부분 Base64를 직접 사용해요. 그래서 이 함수는 주로 Base64 바이트를 기대하는 리소스 타입에 문자열 데이터를 쉽게 제공하기 위해 존재해요.

base64encode는 사실상 인코딩 이름을 UTF-8로 설정해 textencodebase64를 호출하는 것의 줄임 표현이에요.

예시

> base64encode("Hello World")
SGVsbG8gV29ybGQ=

관련 함수

  • base64decode - 반대 작업을 수행해요. Base64 데이터를 디코딩해 UTF-8 문자열로 해석해요.
  • textencodebase64 - UTF-8 이외의 문자 인코딩을 지원하는 더 일반적인 함수예요.
  • base64gzip - 문자열에 gzip 압축을 적용하고 결과를 한 번에 Base64로 인코딩해요.
  • filebase64 - 로컬 파일시스템에서 파일을 읽어 중간 단계의 유니코드 문자열을 만들지 않고 원시 바이트를 Base64로 인코딩해 돌려줘요.

더 알아보기 (Learn more)