| --- |
| page_title: textencodebase64 - Functions - Configuration Language |
| description: >- |
| The textencodebase64 function encodes the unicode characters in a given string |
| using a |
| |
| specified character encoding, returning the result base64 encoded. |
| --- |
| |
| # `textencodebase64` Function |
| |
| -> **Note:** This function is supported only in Terraform v0.14 and later. |
| |
| `textencodebase64` encodes the unicode characters in a given string using a |
| specified character encoding, returning the result base64 encoded because |
| Terraform language strings are always sequences of unicode characters. |
| |
| ```hcl |
| substr(string, encoding_name) |
| ``` |
| |
| Terraform uses the "standard" Base64 alphabet as defined in |
| [RFC 4648 section 4](https://tools.ietf.org/html/rfc4648#section-4). |
| |
| The `encoding_name` argument must contain one of the encoding names or aliases |
| recorded in |
| [the IANA character encoding registry](https://www.iana.org/assignments/character-sets/character-sets.xhtml). |
| Terraform supports only a subset of the registered encodings, and the encoding |
| support may vary between Terraform versions. In particular Terraform supports |
| `UTF-16LE`, which is the native character encoding for the Windows API and |
| therefore sometimes expected by Windows-originated software such as PowerShell. |
| |
| Terraform also accepts the encoding name `UTF-8`, which will produce the same |
| result as [`base64encode`](/language/functions/base64encode). |
| |
| ## Examples |
| |
| ``` |
| > textencodebase64("Hello World", "UTF-16LE") |
| SABlAGwAbABvACAAVwBvAHIAbABkAA== |
| ``` |
| |
| ## Related Functions |
| |
| * [`textdecodebase64`](/language/functions/textdecodebase64) performs the opposite operation, |
| decoding Base64 data and interpreting it as a particular character encoding. |
| * [`base64encode`](/language/functions/base64encode) applies Base64 encoding of the UTF-8 |
| encoding of a string. |
| * [`filebase64`](/language/functions/filebase64) reads a file from the local filesystem |
| and returns its raw bytes with Base64 encoding, without creating an |
| intermediate Unicode string. |