Skip to main content

textencodebase64 Function

textencodebase64 encodes the unicode characters in a given string using a specified character encoding, returning the result base64 encoded because OpenTofu language strings are always sequences of unicode characters.

Code Block
substr(string, encoding_name)

OpenTofu uses the "standard" Base64 alphabet as defined in RFC 4648 section 4.

The encoding_name argument must contain one of the encoding names or aliases recorded in the IANA character encoding registry. OpenTofu supports only a subset of the registered encodings, and the encoding support may vary between OpenTofu versions. In particular OpenTofu supports UTF-16LE, which is the native character encoding for the Windows API and therefore sometimes expected by Windows-originated software such as PowerShell.

OpenTofu also accepts the encoding name UTF-8, which will produce the same result as base64encode.

Examples

Code Block
> textencodebase64("Hello World", "UTF-16LE")
SABlAGwAbABvACAAVwBvAHIAbABkAA==
  • textdecodebase64 performs the opposite operation, decoding Base64 data and interpreting it as a particular character encoding.
  • base64encode applies Base64 encoding of the UTF-8 encoding of a string.
  • filebase64 reads a file from the local filesystem and returns its raw bytes with Base64 encoding, without creating an intermediate Unicode string.