跳至主要内容

base64encode 函数

base64encode 将 Base64 编码应用于字符串。

OpenTofu 使用 RFC 4648 第 4 节 中定义的“标准”Base64 字母表。

OpenTofu 语言中的字符串是 Unicode 字符序列而不是字节序列,因此此函数将首先将字符串中的字符编码为 UTF-8,然后将 Base64 编码应用于结果。

OpenTofu 语言将 Unicode 规范化应用于所有字符串,因此将字符串传递给 base64decode 然后传递给 base64encode 可能不会完全产生原始结果。

虽然我们不建议在 OpenTofu 语言中操作大型原始二进制数据,但 Base64 编码是表示任意字节序列的标准方法,因此接受或返回二进制数据的资源类型将使用 Base64 本身,因此此函数主要存在是为了允许轻松地将字符串数据提供给期望 Base64 字节的资源类型。

base64encode 实际上是调用 textencodebase64 并将编码名称设置为 UTF-8 的简写形式。

示例

代码块
> base64encode("Hello World")
SGVsbG8gV29ybGQ=
  • base64decode 执行相反的操作,解码 Base64 数据并将其解释为 UTF-8 字符串。
  • textencodebase64 是一个更通用的函数,支持除 UTF-8 之外的字符编码。
  • base64gzip 将 gzip 压缩应用于字符串,并将结果与 Base64 编码全部在一个操作中返回。
  • filebase64 从本地文件系统读取文件并返回其原始字节,并使用 Base64 编码,而无需创建中间 Unicode 字符串。