1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

エンコードとデコードの違い

エンコーディングとは、一連の規則または式に従って、2 つの形式間でデータを変換するプロセスです。たとえば、小文字から大文字へのルールを使用して、「abc」を「ABC」にエンコードできます。デコードは逆のプロセスです。同じ一連のルールを使用して、「ABC」を「abc」にデコードできます。データのエンコードとデコードにはさまざまなアプリケーションがあります。たとえば、暗号化はキーを使用するエンコーディング形式です。キーがないと、エンコードされたデータをデコードできません。ビデオ データはエンコードされてサイズが小さくなり、インターネット経由で高解像度のビデオ ストリームを表示できるようになります。

メディア エンコーディング

エンコーディングは、オーディオおよびビデオ データのサイズを縮小するために一般的に使用されます。コーデックと呼ばれるコーダー/デコーダー プログラムは、冗長データを排除する一連の数学的アルゴリズムを適用します。たとえば、ファイルに「ABCDQABC」というデータが含まれているとします。コーデック #1 のアルゴリズムは、「ABC」を「Z」に置き換えることである可能性があります。結果のファイルは「ZDQZ」となり、元のファイルより 50% 小さくなります。コーデック #2 のアルゴリズムは、「ABC?」を置き換える可能性があります。 "Y" および "?ABC" は "X" で、ここで "?" は "?" です。任意の文字を示します。結果のファイルは「YX」になり、元のファイルより 75% 小さくなります。

メディア デコーディング

デコードでは、同じコーデックを使用して、エンコードされたファイルから元のファイルを再構築します。たとえば、「ZDQZ」にコーデック #1 を逆に適用すると、「Z」が「ABC」に置き換えられ、元のファイル「ABCDQABC」が作成されます。 50% 小さいコーデック #1 は、デコードによって元のファイルが常に再作成されるため、ロスレス コーデックと呼ばれます。コーデック #2 は、「YX」を「ABC??ABC」でデコードし、欠落している文字を推測しようとします。コーデックは「DE」を推測し、その結果「ABCDEABC」になる場合があります。コーデック #2 は 75% 小さく、非可逆コーデックです。これは、デコード プロセスによって元のファイルに近いが同一ではないファイルが作成される可能性があるためです。

URL と文字セット

すべてのエンコードで、エンコードされていないデータよりも小さい結果が生成されるわけではありません。たとえば、URL「example.com/Secret of Life.html」はスペースが含まれているため無効です。 Web プログラマーは URL をエンコードし、すべてのスペースを「%20」に置き換えて「example.com/Secret%20of%20Life.html」を作成します。デコード プロセスは逆の操作を実行し、"%20" をスペースに置き換えます。同様に、データベース プログラムは、すべてのデータを、ほとんどの言語の文字のマスター セットである Unicode でエンコードする場合があります。ユーザーがデータを取得すると、プログラムは Unicode をデコードして、ユーザーの言語とキーボードの設定に一致させます。

デコードできないエンコーディング

一部のエンコーディングは、デコードすることを意図していません。ハッシュは、ハッシュがわかっている場合でも、デコードできない暗号化された結果を生成するためにエンコード アルゴリズムで使用されるランダムな文字の長い文字列です。たとえば、ユーザーのパスワードはハッシュで暗号化され、データベースに保存される場合があります。ハッカーがデータベースを見つけた場合、パスワードを解読することはできません。ユーザーがログインすると、システムはユーザーが入力したパスワードをハッシュでエンコードし、その結果をデータベースに保存されているものと比較します。ユーザーがパスワードを忘れた場合、システムは元のパスワードを認識せず、暗号化された値しか知らないため、パスワードを変更する必要があります。