
音楽ファイルは通常、MP3コーデックを使用してエンコードされます。
画像クレジット: ピュアストック/ピュアストック/ゲッティイメージズ
エンコーディングは、一連のルールまたは式に従って2つの形式間でデータを変換するプロセスです。 たとえば、小文字から大文字へのルールを使用して、「abc」を「ABC」にエンコードできます。 デコードは逆のプロセスです。 同じルールセットを使用して、「ABC」を「abc」にデコードできます。 データのエンコードとデコードにはさまざまなアプリケーションがあります。 たとえば、暗号化は、キーを使用するエンコーディングの形式です。 キーがないと、エンコードされたデータをデコードできません。 ビデオデータは、インターネット上で高解像度のビデオストリームを表示できるように、サイズを小さくするようにエンコードされています。
エンコーディングは、オーディオおよびビデオデータのサイズを縮小するために一般的に使用されます。 コーデックと呼ばれるコーダー-デコーダープログラムは、冗長データを排除する一連の数学的アルゴリズムを適用します。 たとえば、ファイルにデータ「ABCDQABC」が含まれているとします。 コーデック#1のアルゴリズムは置き換えることかもしれません 「ABC」と「Z」 結果のファイルは「ZDQZ」になり、元のファイルより50%小さくなります。 ファイル。 コーデック#2のアルゴリズムが「ABC?」に置き換わる可能性があります。 「Y」と「?ABC」と「X」、ここで「?」 任意の文字を示します。 結果のファイルは「YX」になり、元のファイルより75%小さくなります。
今日のビデオ
デコードでは、同じコーデックを使用して、エンコードされたファイルから元のファイルを再構築します。 たとえば、コーデック#1を「ZDQZ」に逆に適用すると、「Z」が「ABC」に置き換えられ、元のファイル「ABCDQABC」が作成されます。 50%小さいコーデック#1は、デコードによって常に元のコーデックが再作成されるため、ロスレスコーデックと呼ばれます。 ファイル。 コーデック#2は「YX」を「ABC ??」でデコードします。 ABC」と言い、不足している文字が何であるかを推測しようとします。 コーデックは「DE」を推測する可能性があり、その結果「ABCDEABC」になります。 75%小さかったCodec#2は、 非可逆コーデック。デコードプロセスにより、元のファイルに近いファイルが作成される可能性がありますが、 同一。
URLと文字セット
すべてのエンコードが、エンコードされていないデータよりも小さい結果を生成するわけではありません。 たとえば、URL「example.com/SecretofLife.html」にはスペースが含まれているため無効です。 WebプログラマーがURLをエンコードし、すべてのスペースを「%20」に置き換えて作成します "example.com/Secret%20of%20Life.html。" デコードプロセスは逆の操作を実行し、 「%20」をスペースに置き換えます。 同様に、データベースプログラムは、ほとんどの言語の文字のマスターセットであるUnicodeですべてのデータをエンコードする場合があります。 ユーザーがデータを取得すると、プログラムはユーザーの言語とキーボードの設定に一致するようにUnicodeをデコードします。
デコードできないエンコーディング
一部のエンコーディングは、デコードを目的としていません。 ハッシュは、ハッシュを知っている場合でもデコードできない暗号化された結果を生成するためにエンコードアルゴリズムで使用されるランダムな文字の長い文字列です。 たとえば、ユーザーのパスワードはハッシュで暗号化され、データベースに保存される場合があります。 ハッカーがデータベースを見つけた場合、パスワードをデコードすることはできません。 ユーザーがログインすると、システムはユーザーが入力したパスワードをハッシュでエンコードし、その結果をデータベースに保存されているものと比較します。 ユーザーが自分のパスワードを忘れた場合、システムは自分の元のパスワードを知らず、暗号化された値しか知らないため、パスワードを変更する必要があります。