本文へ移動

textencodebase64 関数

textencodebase64 は、指定された文字エンコーディングを使用して、与えられた文字列内のUnicode文字をエンコードし、結果をBase64エンコードして返します。これは、OpenTofu言語の文字列が常にUnicode文字のシーケンスであるためです。

コードブロック
textencodebase64(string, encoding_name)

OpenTofuは、RFC 4648セクション4で定義されている「標準」Base64アルファベットを使用します。

encoding_name引数には、IANA文字エンコーディングレジストリに記録されているエンコーディング名またはエイリアスのいずれかを含める必要があります。OpenTofuは登録されているエンコーディングのサブセットのみをサポートしており、エンコーディングのサポートはOpenTofuのバージョンによって異なる場合があります。特に、OpenTofuはWindows APIのネイティブ文字エンコーディングであり、PowerShellなどのWindows由来のソフトウェアによって期待されることがあるUTF-16LEをサポートしています。

OpenTofuは、UTF-8というエンコーディング名も受け入れます。これはbase64encodeと同じ結果を生成します。

コードブロック
> textencodebase64("Hello World", "UTF-16LE")
SABlAGwAbABvACAAVwBvAHIAbABkAA==
  • textdecodebase64は逆の操作を行い、Base64データをデコードして特定の文字エンコーディングとして解釈します。
  • base64encodeは、文字列のUTF-8エンコーディングにBase64エンコーディングを適用します。
  • filebase64は、ローカルファイルシステムからファイルを読み取り、中間Unicode文字列を作成せずに、その生のバイトをBase64エンコードして返します。