base64gzip 함수

base64gzip 함수

base64gzip 함수는 문자열을 gzip으로 압축한 뒤, 그 결과를 Base64 인코딩으로 인코딩해 주는 함수예요.

출처: Packer 공식 문서

본문

Packer는 RFC 4648 섹션 4에 정의된 "표준" Base64 알파벳을 사용해요.

Packer 언어의 문자열은 바이트가 아니라 유니코드 문자의 시퀀스예요. 그래서 이 함수는 먼저 문자열의 문자들을 UTF-8로 인코딩한 뒤, 그 결과에 Base64 인코딩을 적용해요.

Packer 언어는 모든 문자열에 유니코드 정규화(Unicode normalization)를 적용해요. 따라서 문자열을 base64decode로 디코딩한 다음 다시 base64encode로 인코딩하면 원래 결과와 정확히 같지 않을 수 있어요.

Packer 언어에서 크고 원시적인 바이너리 데이터를 다루는 것은 권장하지 않지만, 이 함수는 Packer 언어 안에서 생성된 적절한 크기의 텍스트 문자열을 압축하는 데 쓸 수 있어요. 예를 들어 이 함수의 결과를 사용해 S3 웹사이트의 일부로 Amazon S3에 압축된 객체를 만들 수 있어요.

더 알아보기 (Learn more)

  • base64decode 함수 - Base64 데이터를 디코딩해서 UTF-8 문자열로 해석하는 반대 작업을 해요.
  • Packer 함수 목록 - Packer HCL 템플릿에서 사용할 수 있는 모든 함수를 확인해 보세요.