Verschil tussen codering en decodering

Vrouw luistert naar muziek op een mobiele telefoon

Muziekbestanden worden gewoonlijk gecodeerd met behulp van de MP3-codec.

Afbeelding tegoed: Purestock/Purestock/Getty Images

Coderen is het proces van het vertalen van gegevens tussen twee formaten volgens een set regels of een formule. U kunt bijvoorbeeld "abc" naar "ABC" coderen met behulp van regels van kleine letters naar hoofdletters. Decodering is het omgekeerde proces. U kunt "ABC" decoderen naar "abc" met dezelfde set regels. Er zijn veel verschillende toepassingen voor het coderen en decoderen van gegevens. Encryptie is bijvoorbeeld een vorm van codering waarbij een sleutel wordt gebruikt. Zonder de sleutel kunnen de gecodeerde gegevens niet worden gedecodeerd. Videogegevens zijn gecodeerd om ze kleiner te maken, zodat high-definition videostreams via internet kunnen worden bekeken.

Codering wordt vaak gebruikt om de grootte van audio- en videogegevens te verkleinen. Een coder-decoderprogramma, een codec genaamd, past een reeks wiskundige algoritmen toe die overtollige gegevens elimineren. Stel bijvoorbeeld dat een bestand de gegevens "ABCDQABC" bevat. Het algoritme van Codec #1 zou kunnen zijn om te vervangen "ABC" met "Z." Het resulterende bestand zou "ZDQZ" zijn, wat 50 procent kleiner is dan het origineel het dossier. Het algoritme van Codec #2 kan "ABC?" met "Y" en "?ABC" met "X", waar "?" geeft een willekeurig teken aan. Het resulterende bestand zou "YX" zijn, wat 75 procent kleiner is dan het originele bestand.

Video van de dag

Decodering gebruikt dezelfde codec om het originele bestand te reconstrueren vanuit een gecodeerd bestand. Als u bijvoorbeeld Codec #1 in omgekeerde volgorde toepast op "ZDQZ", vervangt "Z" door "ABC" om het originele bestand "ABCDQABC" te maken. Codec #1, die 50 procent kleiner was, wordt een lossless codec genoemd omdat bij decoderen altijd het origineel wordt nagemaakt het dossier. Codec #2 decodeert "YX" met "ABC?? ABC", en probeert vervolgens te raden wat de ontbrekende tekens zijn. De codec kan "DE" raden, wat resulteert in "ABCDEABC." Codec #2, die 75 procent kleiner was, is een lossy codec, omdat het decoderingsproces een bestand kan maken dat dicht bij het origineel ligt, maar niet identiek.

URL's en tekensets

Niet alle codering levert een resultaat op dat kleiner is dan de niet-gecodeerde gegevens. De URL "example.com/Secret of Life.html" is bijvoorbeeld ongeldig omdat deze spaties bevat. Een webprogrammeur codeert de URL, die alle spaties vervangt door "%20" om te creëren "example.com/Secret%20of%20Life.html." Het decoderingsproces voert de inverse bewerking uit en vervangt "%20" door een spatie. Evenzo kan een databaseprogramma alle gegevens coderen in Unicode, een hoofdset tekens in de meeste talen. Wanneer een gebruiker gegevens ophaalt, decodeert het programma de Unicode zodat deze overeenkomt met de taal- en toetsenbordinstellingen van de gebruiker.

Codering die niet kan worden gedecodeerd

Sommige coderingen zijn niet bedoeld om te worden gedecodeerd. Een hash is een lange reeks willekeurige tekens die met een coderingsalgoritme wordt gebruikt om een ​​gecodeerd resultaat te produceren dat niet kan worden gedecodeerd, zelfs als u de hash kent. Het wachtwoord van een gebruiker kan bijvoorbeeld worden versleuteld met een hash en worden opgeslagen in een database. Als een hacker de database vindt, kan hij geen wachtwoorden ontcijferen. Wanneer een gebruiker inlogt, codeert het systeem het wachtwoord dat de gebruiker invoert met de hash en vergelijkt het resultaat met het resultaat dat is opgeslagen in de database. Als een gebruiker zijn wachtwoord vergeet, moet hij het wijzigen, omdat het systeem zijn oorspronkelijke wachtwoord niet kent, alleen de versleutelde waarde.