base64とは何ですか?
base64は、単なるテキスト文字以上のもので構成されるデータを単純なテキストメッセージに変換する方法で、コンピューターネットワーク全体で転送できます。 それはエンコーディングと呼ばれるものです。 base64エンコードされたメッセージの出力は、人間が容易に理解できるものではありませんが、64の一般的な英語文字で構成されています。これは、特別な目的で追加の65番目の文字が使用されている65番目の文字で構成されています。 最初の電子メールメッセージは、情報交換のためのAmerican Standard Code(ASCII)にエンコードされた文字として始まりました。これは、ディスプレイまたはプリンターのテキストとして英語のアルファベット文字を表すためにコンピューターで使用されるエンコード方法です。 追加のバイナリ情報を通過するために必要なため、新しいエンコードスキームが開発されました。
base64エンコードメソッドは、多目的インターネットメールエクステンション(MIME)標準と呼ばれるもので最初に説明されました。 MIME標準は、英語以外の言語で使用されているアルファベットや他の任意のバイナリデータなど、ASCIIにエンコードされていない他の文字も、ASCIIシーケンスにエンコードして電子メールメッセージを介して送信できる方法を定義しました。 Mime Standardによって記述された2つの主要なエンコード手段のうち、Base64は、引用プリント可能と呼ばれる別のものと役割を共有しています。 引用された印刷可能な方法は、限られた94の印刷可能な文字を多少超えてASCIIを延長することができますが、Base64は任意の一連のバイトを取得してASCIIシーケンスに変換できます。
base64は、ASCII標準を満たさないデータの文字列を取得し、それらをASCIIに変換する必要があります。 これを行うために、エンコーディング方法は、データを3バイトのグループに収集するプロセスです対応するASCII文字を表す4つの数字に変換します。 バイトは8ビットであるため、各ビットは1つまたはゼロで表されます。3バイトが端にリンクされ、シーケンス全体が24ビットバッファーになります。 24個とゼロは6ビットの4つのグループに分割され、それぞれにASCII文字に一致する番号が割り当てられます。
Base64はバイナリデータをエンコードできるため、バイトのシーケンスはプロセスを通過できます。 ただし、エンコード用のバイト数が3で割り当てられないため、ビットがバッファーに収まるようにキャッチがあります。 たとえば、バイトシーケンスに4つまたは5バイトが含まれている場合、バッファを埋めて24ビット全体を補うために何かが必要です。 これらの場合、欠落している各バイトは8つの0で表され、その後、完成したエンコードのパディング文字に変換されます。 これは、前述の65番目のキャラクターが来る場所です。等しい記号(=)を持つエンコードされたメッセージに掲載されています。フィラーが必要な場合にエンコードの最後にのみ表示されます。
Base64は元々、電子メールメッセージを介してバイナリデータを送信するために考案されていましたが、MIME以外の多くの領域でその使用が機能しています。 このような一般的な使用の1つは、WebデータベースとアプリケーションがWebフォームに均一なリソースロケーター(URL)を作成するためにデータをエンコードすることです。 拡張可能なマークアップ言語(XML)は、小さな画像などのバイナリデータをXMLドキュメントに含めるバリアントも使用します。 暗号化方法や、パスワードを隠すなどのセキュリティ関連の手法には、その他のバリエーションが存在します。