Base64コードは8ビットシーケンスをより長いASCIIグラフィック文字シーケンスにエンコードするためにemail内で使用されます。これはインターネットRFC2045およびRFC4648でも定義されます24。このセクションでは、このコードへの変換および逆変換を行う関数について説明します。
この関数はbegからendのリージョンをBase64コードに変換する。これはエンコードされたテキストの長さをリターンする。リージョン内の文字がマルチバイトならエラーをシグナルする(マルチバイトバッファーではリージョンにはASCIIとrawバイト以外の文字が含まれてはならない)。
この関数は通常は行が長くなりすぎるのを防ぐために、エンコードされたテキストに改行を挿入する。しかしオプション引数no-line-breakが非nil
なら、これらの改行は追加されず出力は長い単一の行となる。
この関数はbase64-encode-region
と同様だがRFC4648にしたがいBase64エンコーディングのURLバリアントを実装する。エンコードされたテキストに改行を挿入しないので、出力は1行だけの長い行となる。
オプション引数no-padは非nil
なら、この関数はパディング(=
)を生成しない。
この関数は文字列stringをBase64コードに変換する。これはエンコードされたテキストを含む文字列をリターンする。base64-encode-region
と同じように文字列内の文字がマルチバイトならエラーをシグナルする。
この関数は通常は行が長くなりすぎるのを防ぐためにエンコードされたテキストに改行を挿入する。しかしオプション引数no-line-breakが非nil
なら、これらの改行は追加されず結果となる文字列は長い単一の行となる。
base64-encode-string
と同様だがBase64のURLバリアントを生成する。エンコードされたテキストに改行を挿入しないので、結果は1行だけの長い行となる。
オプション引数no-padは非nil
なら、この関数はパディングを生成しない。
この関数はbegからendのリージョンのBase64コードを対応するデコードされたテキストに変換する。これはデコードされたテキストの長さをリターンする。
デコード関数はエンコード済みテキスト内の改行文字を無視する。
オプション引数base64urlが非nil
ならパディングはオプションであり、Base64エンコーディングのURLバリアントが使用される。オプション引数ignore-invalidが非nil
の場合には、認識できない文字はすべて無視される。
この関数は文字列stringを、Base64コードから対応するデコード済みテキストに変換する。これはデコード済みテキストを含むユニバイトをリターンする。
デコード関数はエンコード済みテキスト内の改行文字を無視する。
オプション引数base64urlが非nil
ならパディングはオプションであり、Base64エンコーディングのURLバリアントが使用される。オプション引数ignore-invalidが非nil
の場合には、認識できない文字はすべて無視される。
RFC(Request for Commentsの略)とは標準を記述するナンバーが付与されたインターネット情報提供ドキュメントです。RFCは通常は自身が先駆的に活動する技術エキスパートによって記述され、伝統として現実的で経験主導で記述されます。