Quels sont les différents types de codage?
Codage en ligne
Plusieurs types de codage existent : CMI, RZ, NRZ, etc. Codage en ligne
Pour le transport de données numériques, le codage en ligne est souvent utilisé. Il consiste à représenter le signal numérisé à transporter, par un autre signal qui présente des variations d'amplitude régulièrement espacées dans le temps, celui-ci étant adapté aux propriétés physiques spécifiques des canaux de transmissions (et des équipements récepteurs). Le codage du signal est utilisé pour représenter les 1 et les 0 d'un signal numérique sur le lien, ce processus est appelé codage en ligne. Après le codage en ligne, le signal peut être directement émis sur le canal de transmission, sous la forme de variations de la tension ou du courant. Les types de codage en ligne les plus utilisés sont unipolaire, polaire, bipolaire et le codage Manchester.
Codage des caractères
La popularisation des messages courts de , dits SMS, de par leur taille réduite et leur coût, a conduit à la réapparition des techniques de codage de texte sur des "bytes" courts de sept bits. (). Chiffrement
L'exemple de codage le plus connu est le Code Morse international. Le Morse a été mis au point afin de permettre la transmission d'un texte en impulsions de type tout-ou-rien sans aucun équipement spécialisé, mis à part une clef de Morse et en étant facilement décodable à l'oreille humaine par un télégraphiste spécialement formé à cet effet. La transmission en tout-ou-rien simplifie grandement les équipements utilisés pour la transmission (en filaire, signaux lumineux ou hertziens) tout en augmentant significativement la facilité de décodage dans des conditions de signal faible (rapport signal/bruit faible). L'alphabet Morse étant du domaine public et encore enseigné aujourd'hui, particulièrement dans la communauté radioamateur, il ne peut donc pas servir à cacher un message d'un adversaire. Son usage est lié principalement à ses qualités propres en transmission. On parle donc ici d'un codage dans le sens le plus pur du terme. Code binaire
L'arithmétique DCB est parfois préférée aux formats numériques à virgule flottante dans les applications commerciales et financières où le comportement d'arrondi complexe des nombres à virgule flottante est inapproprié. La plupart des ordinateurs modernes utilisent un codage binaire pour les instructions et les données. Les CD , DVD et disques Blu-ray représentent le son et la vidéo numériquement sous forme binaire. Les appels téléphoniques sont acheminés numériquement sur des réseaux longue distance et des réseaux de téléphonie mobile utilisant la modulation par impulsions codées, ainsi que sur des réseaux voix sur IP . Compression de courbe
Le codage est utilisé pour représenter les paramètres avec un volume minimal d'information. Il est réalisé par des techniques de compression de données qui peuvent être "avec perte" ou "sans perte". Biais d'usage du code
Le biais d'usage du code (RSCU, pour en anglais) désigne l'utilisation préférentielle d'un des triplets de nucléotides ou codons possibles pour coder un acide aminé. En effet, il existe en général plusieurs combinaisons de trois nucléotides codant le même acide-aminé (sauf pour la méthionine et le tryptophane), appelés codons synonymes, mais certaines de ces combinaisons sont en général utilisées préférentiellement par la cellule. Cette préférence dépend à la fois de l'organisme, du génome (nucléaire, mitochondrial, chloroplastique…). Elle est cependant globalement conservée à l'intérieur des gènes portés par un même génome. ISO/CEI 8859
Les normes de codage Unicode et UCS utilisent des séquences de un à quatre codes de 8 bits (UTF-8), des séquences de un ou deux codes de 16 bits (UTF-16), ou une valeur de code de 32 bits (UTF-32 ou UCS-4). Il existe également un codage plus ancien qui utilise une valeur de 16 bits (UCS-2) mais qui n'est capable de représenter qu'un dix-septième des points de code disponibles : sur la totalité des points de code définis par Unicode, seuls ceux du BMP ("Basic Multilingual Plane"), c'est-à-dire ceux compris entre "U+0000" et "U+FFFF", sont supportés par UCS-2. Parmi ces formes de codage, seul UTF-8 présente les suites d'octets dans un ordre fixe ; les autres sont sujets au problème lié à la manière dont les plates-formes codent les suites de 16 et 32 bits (voir sur ce point l'opposition gros-boutiste et petit-boutiste). Ce problème peut être résolu grâce à des codes spéciaux ou par des indications hors bande. Télécommunications
À l'émission, les techniques de compression permettent de réduire le débit nécessaire, idéalement sans perte de qualité perceptible, par exemple sur la musique (MP3) ou sur la vidéo (MPEG), les codages transforment le signal d’information binaire en une forme adaptée à la modulation. Télévision à balayage lent
Les modes Wraase, Martin et Scottie présentent beaucoup de similitudes quant aux fréquences de codage et de synchronisation. Ils nécessitent par contre des vitesses de transmission différentes. De manière générale, la qualité de l’image est proportionnelle au temps nécessaire pour la transmission. Le mode Scottie DX, par exemple, spécialisé dans les transmissions longues distances, demande un temps de transmission très important. Outre un codage des couleurs différents, le protocole Robot utilise une séquence de synchronisation verticale plus longue, contenant des données numériques supplémentaires : 7 bits d’information et un bit de parité. Ce système permet une identification automatique du format de l’image transmise, ce qui, pour les systèmes qui reconnaissent ce principe de codage, évite une sélection manuelle du protocole. Les protocoles AVT ("Amiga Video Transceiver") sont, pour leur part, radicalement différents. Ils n’utilisent pas de fréquence de synchronisation horizontale mais se basent sur un système d’« en-tête » numérique pour éviter que l’image ne soit reçue avec un décalage. (Le principe de codage des protocoles AVT dépasse le cadre de ce document). Les radioamateurs d’Amérique du Nord utilisent préférentiellement le protocole Scottie S1 (80 % des images sont envoyées dans ce mode). Les 20 % restants étant répartis entre les protocoles Scottie S2, Martin M1, Robot 36 et 72. Les radioamateurs du Japon choisissent plutôt les protocoles Robot et AVT. En Europe, enfin, 95 % du trafic SSTV est effectué à l’aide du protocole Martin M1. Format de fichier audio
Les logiciels de création musicale peuvent facilement produire ce format, comme les enregistreurs numériques. Sauf dans le cas de conversion de fréquence d'échantillonnage, nécessaire par exemple pour utiliser une source CD échantillonnée à dans un montage audiovisuel échantillonné à , ou bien lors de changement de résolution, exigeant un redithering, les étapes de codage et de décodage se limitent aux opérations de conversion analogique-numérique et de conversion numérique-analogique, ou de changement de format numérique. Les semi-conducteurs et les programmes qui effectuent ces opérations sont couramment appelés sous la désignation générique de codecs. Code génétique
Le fait que les codent seulement aminés protéinogènes, plus les codons de terminaison, conduit à de très nombreuses redondances. Ceci fait qu'un acide aminé standard est codé en moyenne par trois codons distincts — jusqu'à six codons différents. On parle de codons synonymes. Parmi les aminés standards, seuls la méthionine et le tryptophane ne sont codés que par un codon, tandis que l'asparagine, l'aspartate, la cystéine, le glutamate, la glutamine, l'histidine, la lysine, la phénylalanine et la tyrosine sont codés par deux codons distincts, l'isoleucine et la terminaison de traduction sont codées par trois codons distincts, la thréonine, la proline, l'alanine, la glycine et la valine sont codées par quatre codons distincts, et l'arginine, la leucine et la sérine sont codées par six codons. Il existe donc souvent plusieurs ARN de transfert associés à un même acide aminé, capables de se lier aux différents triplets dégénérés de nucléotides sur l'ARN. On parle alors d'ARNt isoaccepteurs, car ils acceptent le même acide aminé. UTF-7
UTF-7 (' ou ') est un codage de caractères informatiques à longueur variable conçu pour coder l’ensemble des caractères internationaux d’Unicode dans le courrier électronique de manière plus efficace que l’UTF-8 à l’aide de quoted-printable. UTF-7 n’est pas une norme Unicode, le standard Unicode ne mentionne que UTF-8, UTF-16 et UTF-32. Code de Gray
Le code de Gray est un codage binaire, c'est-à-dire une fonction qui associe à chaque nombre une représentation binaire. Cette méthode est différente du codage binaire naturel. Le tableau suivant montre partiellement le codage sur 4 bits (seules les 8 premières valeurs sont présentées, les huit suivantes avec le premier bit à 1 n'y sont pas). WavPack
WavPack est constitué de trois modes d'encodages. Un encodage est dit asymétrique lorsque le temps nécessaire à sa réalisation est entièrement décorrélé avec le temps nécessaire au décodage. La plupart des formats de type "lossless" sont en effet « symétriques » : un encodage très lent (forte compression) aura pour contrepartie un décodage très lent, et si l'encodage est rapide (compression plus faible) le décodage nécessitera moins de ressources processeur. WavPack présente de manière optionnelle des optimisations asymétriques (appelées par la commande -x) permettant l'obtention d'un taux de compression plus élevé sans porter atteinte à la vitesse de décodage (paradoxalement améliorée avec ce mode).Le développement de WavPack commence au milieu de l'année 1998 avec la sortie par David Bryant de la version 1.0, aux performances déjà remarquables. La version 2.0 ne tarde pas à suivre et, reprenant une idée déjà introduite par Monkey's Audio (un autre format de compression lossless), présente à ses utilisateurs un mode d'encodage avec pertes. La version 3.0 est lancée l'année suivante, et parmi les innovations offertes par cette nouvelle version, on peut citer : un mode d'encodage rapide, la gestion des fichiers PCM « brut » (raw) ainsi qu'un mécanisme de détection d'erreurs (CRC 32 bit). Ces innovations ne suffisent cependant pas à séduire les utilisateurs, dont une large majorité continuera de préférer des formats plus performants tels que Monkey's Audio ou FLAC. Il est vrai que le mode de navigation ("seeking") des plus poussif de WavPack 3 (latence pouvant atteindre une dizaine de secondes pour aller d'un point à un autre !) n'était guère attrayant... Unicode
C'est notamment le codage qu'utilise la plate-forme Java en interne, ainsi que Windows pour ses APIs compatibles Unicode (avec le type codice_1). Code-barres EAN
Cela induit des contraintes élevées sur le codage, car ces lecteurs n’ont au départ aucune information sur la "largeur élémentaire" utilisée dans le codage. Ils doivent donc la déduire de ce qu’ils captent, et être en mesure de déterminer si ce qu’ils ont détecté correspond à la réalité du codage initial. Par conséquent, le codage intègre plusieurs points de contrôle permettant de régler automatiquement le lecteur aux particularités du support où ces codes à barres sont imprimés, et de vérifier la qualité de cette lecture dans les conditions variables où le lecteur sera utilisé. UTF-8
De plus, certains systèmes utilisent des chaînes de caractères non restreints : par exemple, Java (et d'autres langages y compris des bibliothèques de manipulation de chaînes en C, PHP, Perl, etc.) représentent les caractères avec des unités de codage sur (ce qui permet de stocker les chaînes en utilisant le codage UTF-16, mais sans les contraintes de validité imposées par UTF-16 concernant les valeurs interdites et l'appariement dans l'ordre des « demi-codets » ou "surrogates") ; dans ce cas, les unités de codage sont traitées comme des valeurs binaires et il est nécessaire de les sérialiser de façon individuelle (indépendamment de leur interprétation possible comme caractères ou comme demi-points de code). Dans ce cas, chaque unité de codage qui représente un « caractère » (non-contraint) est sérialisé sous forme de séquences comprenant jusqu'à chacune, et certains octets interdits par l'implémentation (par exemple les caractères nuls ou la barre de fraction « / » dans un système de fichiers ou d'autres caractères codés sur un octet dans d'autres protocoles) sont codés sous forme de séquences d'échappement à deux octets dont aucun n'est nul, en utilisant simplement le principe de codage de la première spécification de FSS-UTF (avant celle qui a été retenue par le Consortium X/Open dans sa RFC initiale où ces échappements étaient spécifiquement interdits et le sont restés). Codage des caractères sur carte perforée
Le codage des caractères sur carte perforée est la pratique consistant à associer à chaque caractère un ensemble différent de perforations, ce qui permet par exemple d'y enregistrer un texte. Code de Reed-Solomon
En ADSL/ADSL2/ADSL2plus, le codage est souvent RS(240, 224, "t"=8) ou encore RS(255, 239, "t"=8). Codage des caractères
Les premiers codages de caractères permettaient de s'affranchir de la distance. Ils utilisaient des techniques visuelles variées, mais ne codaient pas l'information sous forme binaire.Les premiers codages binaires de caractères furent introduits en France par l'ingénieur Mimault et par le code Baudot pour le Télex et aux États-Unis par des sociétés répondant aux appels d'offres de l'État fédéral. Pour le recensement puis des besoins particuliers. Télécopieur
Pour T82, le codage est adapté aux images « raster » (bitmap), avec plusieurs plans de couleurs et 1 bit par point dans chacun de ces plans. De plus, elle est optimisée pour des textes, aussi bien en caractères latins que « kanji » (japonais), des documents peu denses et des photographies déjà tramées. Ce codage est identique à celui de la norme ISO 11544 (JBIG pour "Joint Bi-level Image Group"). Les télécopieurs doivent analyser les pages ligne par ligne, de gauche à droite et de haut en bas. Le codage « vectoriel » de l'image n'est pas permis. Code Z
Le code Z (avec le code Q) constitue l'ACP 131 (Allied Communication Publication n° 131). C'est un ensemble de codes utilisés pour les communications radio en morse ou en radiotélétype. En réalité, il existe différentes sortes de codes Z : Usenet
La plus ancienne de ces méthodes de codage est uuencode, initialement développée pour UUCP. À la fin des années 1980, beaucoup de serveurs limitaient la longueur des articles à ; et de telles limites existent toujours, même si elles sont généralement plus élevées. Pour cette raison, les données d'un fichier sont réparties en différents articles et doivent être réassemblées par le lecteur de nouvelles. Il arrive que certaines parties d'un fichier ne soient plus téléchargeables (en effet les serveurs ne gardent les messages binaires que quelques jours) ou bien que certaines parties soient erronées. Pour pallier ce problème, on rencontre souvent des fichiers PAR qui sont des données supplémentaires à télécharger et permettent de reconstruire les parties manquantes. En règle générale les fichiers PAR font 10 % de la taille totale du fichier à télécharger. Codage arithmétique
Ce qui différencie le codage arithmétique des autres codages sources est qu'il code le message par morceaux (théoriquement il peut coder un message entier de taille quelconque mais dans la pratique on ne peut coder que des morceaux d'une quinzaine de symboles en moyenne) et représente chacun de ces morceaux par un nombre formula_1 (flottant) là où Huffman code chaque symbole par un code précis. Le problème qui en résulte pour le codage Huffman est qu'un caractère ayant une probabilité très forte d'apparition sera codé sur au moins un bit. Par exemple, si on cherche à coder un caractère représenté à 90 %, la taille optimale du code du caractère sera de 0,15 bit alors que Huffman codera ce symbole sur au moins 1 bit, soit 6 fois trop. C'est cette lacune que le codage arithmétique comble grâce à un algorithme proche du codage par intervalle. Algorithme génétique
Ce type de codage est certainement le plus utilisé car il présente plusieurs avantages. Son principe est de coder la solution selon une chaîne de bits (qui peuvent prendre les valeurs 0 ou 1). Les raisons pour lesquelles ce type de codage est le plus utilisé sont tout d'abord historiques. En effet, lors des premiers travaux de Holland, les théories ont été élaborées en se basant sur ce type de codage. Et même si la plupart de ces théories peuvent être étendues à des données autres que des chaînes de bits, elles n'ont pas été autant étudiées dans ces contextes. Cependant, l'avantage de ce type de codage sur ses concurrents a tendance à être remis en question par les chercheurs actuels qui estiment que les démonstrations de Holland sur les avantages supposés de ce codage ne sont pas révélatrices. Vidéo
Une fois échantillonné et quantifié, le signal vidéo doit être codé afin d'optimiser son stockage ou sa transmission. Différentes formes de codage existent et présentent chacune leurs avantages et inconvénients. Le but de la manœuvre est donc de choisir le code le plus adapté à l'utilisation. Pour cela, plusieurs codes sont à disposition : Il existe encore d'autres codes (comme le code Miller ou le code Miller carré) qui ne sont utilisés que dans certains magnétoscopes numériques. Codage des caractères sur carte perforée
La correspondance entre les perforations et les caractères ainsi que la taille de la carte ne sont pas normalisées à cette époque. Il existe donc divers formats de cartes perforées pour divers usages. Codage des caractères
Par exemple le codage morse utilise un codage ternaire, dont deux des trois codets (impulsion courte ou longue) sont utilisés en groupes pour coder chaque valeur codée, le troisième (une pause plus longue) étant utilisé pour séparer les caractères. Mode d'adressage
Le nombre de bits utilisés pour encoder nos registres dépend fortement du nombre de registres, mais aussi de la spécialisation de ces mêmes registres. Sur certains processeurs, les registres sont regroupés en grands ensembles bien séparés. Par exemple, on peut avoir des registres flottants séparés des registres généraux. Et il se peut que les instructions soient cantonnées à un ensemble de registres : par exemple, on aura des instructions séparées pour les registres flottants et d'autres pour les entiers. Dans ce cas, les identifiants sont spécifiques à un ensemble de registres. Ainsi, un registre flottant pourra réutiliser le même identifiant qu'un registre entier : c'est l'instruction utilisée qui sélectionnera implicitement le bon ensemble de registres. Voix sur IP
Il existe plusieurs techniques de codage, chacune étant mesurée de façon totalement subjective par une masse de population prise au hasard. Elle doit noter chaque codage par un chiffre de 1 à 5 (1 = Insuffisant - 5 = Excellent). Cette technique s'appelle le MOS. Codage delta
Comme le codage gamma, le codage delta permet de coder tous les entiers naturels, à l'exception de zéro, sans qu'il y ait besoin de connaitre au préalable l'intervalle des valeurs à coder (contrairement, par exemple, au codage binaire de taille fixe, qui ne permet de coder que des nombres inférieurs à une borne supérieure fixée à l'avance). Code 128
Le code 128 est un format de code-barres permettant de coder les 128 caractères de la table ASCII. Il en existe trois tables de codage : A, B et C. Codage omega
Comme pour le codage gamma et le codage delta, il est possible de coder des entiers relatifs avec le codage omega en utilisant une bijection pour transformer les nombres négatifs ou nul en nombres strictement positifs avant le codage à proprement parler. Après le décodage, l'opération inverse doit être effectuée pour retrouver les entiers relatifs d'origine. Advanced Audio Coding
L’AAC adopte une approche modulaire du codage : en fonction de la complexité du flux à coder, de la qualité visée et de la taille du fichier que l’on souhaite obtenir, l’utilisateur peut créer des profils afin de définir l’outil qu’il souhaite utiliser parmi le jeu de réglages prédéfinis. Codage omega
Pour cela, le codage omega fait précéder la représentation binaire du nombre par sa longueur (en nombre de bits), comme le font les codages gamma et delta. Comme l'intervalle des valeurs pouvant être prise par cette longueur n'est pas non plus connu à l'avance, elle doit être codée avec un code préfixe. Contrairement au codage gamma qui utilise un codage unaire à cet effet, ou au codage delta qui utilise un codage gamma, le codage omega utilise un codage omega. Ce codage est donc un codage récursif. UTF-8
Cependant il peut exister des systèmes utilisant une telle extension de l'UTF-8 (ou de l'UTF-32) de façon interne et privée, mais qui n'est pas destinée aux échanges de textes standards entre systèmes interopérables. Ce type de codage est plutôt destiné à une utilisation intermédiaire nécessaire aux traitements internes dans certaines bibliothèques de code ou des formats de fichiers ou sérialisation spécifiques souhaitant encapsuler de façon universelle autre chose que du texte (par exemple des objets binaires, du code exécutable, des images, des marques spéciales, des métadonnées, des jeux de caractères privés ou non encore normalisés et faisant l'objet de tests ou d'évaluation au sein d'un groupe limité d'utilisateurs utilisant un accord privé spécifique entre eux, etc.). Code-barres
On distingue deux types généraux de codes-barres : On distingue deux familles de codes 2D : Il s'agit de codes 1D empilés (Code 16k, PDF417, etc.). Ces codes peuvent aussi être lus par les lecteurs 1D en faisant un balayage du code. Il s'agit de codes dont les motifs constituent une forme souvent rectangulaire ou carrée qui ne peuvent être lus que par des technologies de prise de photos. JPEG 2000
Le processus de codage suit un schéma classique de modification des propriétés statistiques des données source par un changement de modèle (synthèse) colorimétrique par une transformée, avant quantification des coefficients issus de cette transformée puis codage entropique. Les nouveautés par rapport à JPEG du point de vue compression sont l’utilisation d’une transformée en ondelettes, qui offre une scalabilité naturelle, mais surtout d’un algorithme de codage entropique très sophistiqué. Celui-ci est fortement basé sur l’algorithme EBCOT de David Taubman. Il consiste en un regroupement et une modélisation des coefficients ondelettes qui fournissent à un codeur arithmétique adaptatif un train binaire possédant les propriétés statistiques adéquates. Algorithme génétique
Finalement, le choix du type de codage ne peut pas être effectué de manière sûre dans l'état actuel des connaissances. Selon les chercheurs dans ce domaine, la méthode actuelle à appliquer dans le choix du codage consiste à choisir celui qui semble le plus naturel en fonction du problème à traiter et développer ensuite l'algorithme de traitement. Compression de données
Les formats MPEG sont des formats de compression avec pertes pour les séquences vidéos. Ils incluent à ce titre des codeurs audio, comme les célèbres MP3 ou AAC, qui peuvent parfaitement être utilisés indépendamment, et bien sûr des codeurs vidéos — généralement simplement référencés par la norme dont ils dépendent (MPEG-2, MPEG-4), ainsi que des solutions pour la synchronisation des flux audio et vidéo, et pour leur transport sur différents types de réseaux. Codage des caractères
Cela consiste à représenter chaque caractère, par un motif visuel, un motif sonore, ou une séquence abstraite. Les techniques des ordinateurs reposent sur l’association d'un caractère à un nombre, et/ou à un ou plusieurs codets. Modulation par impulsions et codage
En téléphonie, on utilise généralement des échelles logarithmiques, afin de réduire la quantité de données à transmettre. Le codage par défaut sur un DS0 est du logarithmique à , soit du μ-law PCM (Amérique du Nord, Japon) ou du a-law PCM (Europe et la majeure partie du reste du monde). Ces systèmes quantifient le signal selon une courbe logarithmique, chaque échantillon linéaire sur étant requantifié à une valeur sur . Ce système est décrit par la norme internationale G.711, qui est encore aujourd'hui la norme la plus utilisée en téléphonie fixe. Codage de Shannon-Fano
Les codages de Shannon-Fano et de Huffman souffrent cependant tous les deux du même inconvénient : ils codent les symboles sur un nombre de bits entier. Un codage arithmétique, optimal au niveau du bit, permet de coder des symboles sur un nombre de bits arbitraire (y compris 0), et d'atteindre l'entropie de Shannon. Encodage-pourcent
L’encodage-pourcent, en anglais ', également désigné par l'expression URL encoding"', est un mécanisme de codage de l’information dans un Uniform Resource Identifier (URI) sous certaines circonstances. Bien qu'il soit connu sous la dénomination d’"URL encoding", il est utilisé de façon plus générale au sein de l'URI principal, qui comprend à la fois l'URL et l'URN. En tant que tel, il est également utilisé dans la préparation des données du type de médias (ou type MIME) codice_1, comme c'est souvent le cas lors de l'envoi de formulaires de données HTML dans les requêtes HTTP. Zéro signé
Les formats d'entiers binaires peuvent utiliser divers encodages . Dans le codage en complément à deux largement utilisé, zéro n'est pas signé. Dans une représentation de signe et d'amplitude 1+7 bits pour les nombres entiers, le zéro négatif est représenté par la chaîne de bits 10000000 . Dans une représentation en complément à un sur 8 bits, le zéro négatif est représenté par la chaîne de bits 11111111 . Dans ces trois codages, le zéro positif ou non signé est représenté par 00000000 . Cependant, les deux derniers codages (avec un zéro signé) sont rares pour les formats entiers. Les formats les plus courants avec un zéro signé sont les formats à virgule flottante (formats IEEE 754 ou similaires), décrits ci-dessous. Codage des caractères
Le premier codage largement répandu fut l'ASCII. Pour des raisons historiques (les grandes sociétés associées pour mettre au point l'ASCII étaient américaines) et techniques (7 bits disponibles seulement pour coder un caractère), ce codage ne prenait en compte que 2 soit 128 caractères. De ce fait, l'ASCII ne comporte pas les caractères accentués, les cédilles, etc. utilisés par des langues comme le français. Ceci devint vite inadapté et un certain nombre de méthodes ad-hoc furent utilisées d’abord pour le modifier. Ainsi sont apparues des variantes multiples du codage ASCII, adaptées à des langues ou groupes de langues limités. Code correcteur
Voici différents types de codes correcteurs : Modulation par impulsions et codage
La modulation d'impulsion peut se transmettre avec le codage Manchester, qui évite les périodes à niveau constant au prix d'un doublement de la fréquence. Avec un peu plus d'économie, la modulation 8 bits sur 14 bits, utilisée dans le disque compact assure qu'il y a deux, quatre, six, huit ou dix zéros par bloc de quatorze bits représentant chaque octet. Ces codages adaptés à l'enregistrement ou à la transmission des données se ramènent facilement à un tableau de valeurs binaires. Réception des ondes radioélectriques
Certains réseaux modernes de radiocommunications numériques (par exemple certaines versions des normes 3G, Wi-Fi, Bluetooth ...) utilisent un codage par étalement de spectre. Il existe deux types principaux de codage : Théorie critique
Il introduit la notion de "codage" et "décodage" dans la communication d’un message. Le codage réfère à la façon dont les messages sont construits. Le décodage est la façon dont le message va être interprété par le récepteur. Il existe 3 grands types de lecture par rapport à ce décodage : Unicode
À ce niveau peuvent intervenir les mécanismes de compression ou de chiffrement. Il peut aussi y avoir également des surcodages, notamment au sein des protocoles MIME et HTTP qui les utilisent presque partout, mais aussi pour le LDAP, qui spécifient par exemple que les chaînes Unicode doivent être codées en UTF-8 puis surcodées en Base64 (ou avec d'autres formats d'échappement) et comment indiquer ces options de surcodage au sein des données échangées par ces applications. Context-adaptive variable-length coding
Le ou CAVLC est une forme de codeur entropique à longueur variable utilisé dans la norme vidéo H.264 ou MPEG-4 AVC. Il fait partie des techniques de compression sans perte, c'est-à-dire qu'à partir du code binaire généré par le codeur, il est possible de faire l'opération inverse et de retrouver les informations d'entrée sans aucune différence. Codage unaire
Le codage unaire est un codage entropique utilisé essentiellement en compression de données et s'appuyant sur la base 1. MPEG-H 3D Audio
MPEG-H 3D Audio, est une norme de codage audio ISO/IEC 23008-3 (MPEG-H Part 3), développée par l'ISO/IEC Moving Picture Experts Group (MPEG) pour prendre en charge le codage audio en tant que canaux audio, objets audio , ou HOA (High Order Ambisonics), un son enveloppant. MPEG-H 3D Audio peut prendre en charge jusqu'à 64 canaux de haut-parleurs et 128 canaux principaux de codecs. Les objets peuvent être utilisés seuls ou en combinaison avec des canaux ou des composants HOA. L'utilisation d'objets audio permet l'interactivité ou la personnalisation d'un programme en ajustant le gain ou la position des objets lors du rendu dans le décodeur MPEG-H. L'audio est encodé à l'aide d'un algorithme amélioré de transformée en cosinus discrète modifiée (MDCT). Les canaux, les objets et les composants HOA peuvent être utilisés pour transmettre un son immersif ainsi qu'un son mono, stéréo ou surround. Le décodeur MPEG-H 3D Audio restitue le flux binaire à un certain nombre de configurations de haut-parleurs standard ainsi qu'à des haut-parleurs égarés. Le rendu binaural du son pour l'écoute au casque est également pris en charge. Code binaire
En informatique et en télécommunications, les codes binaires sont utilisés pour diverses méthodes de codage de données, telles que des chaînes de caractères, en chaînes de bits. Ces méthodes peuvent utiliser des chaînes à largeur fixe ou à largeur variable. Dans un code binaire à largeur fixe, chaque lettre, chiffre ou autre caractère est représenté par une chaîne de bits de même longueur; cette chaîne de bits, interprétée comme un nombre binaire , est généralement affichée dans les tables de codes en notation octale, décimale ou hexadécimale. Il existe de nombreux jeux de caractères et de nombreux codages de caractères pour ceux-ci. UTF-8
Ce n'est pas toujours le cas des codages contextuels (qui utilisent généralement la compression de données, par exemple SCSU défini dans la note technique standard UTS#6 optionnelle complétant le standard Unicode) et qui peuvent nécessiter de lire le texte complètement depuis le début, ni des codages basés sur plus d'une seule variable d'état (ou qui incorporent des codes supplémentaires de redondance) ; au mieux certains de ces codages peuvent demander d'utiliser des algorithmes complexes de resynchronisation, basés souvent sur des heuristiques qui peuvent échouer ou conduire à de fausses interprétations si on ne lit pas le texte depuis le début (par exemple BOCU-1). ISO/CEI 10646
ISO/CEI 10646 définit plusieurs "formes de codage" de caractères pour le jeu universel de caractères codés. La plus simple, UCS-2, qui a été supprimée dans la version 2011, assigne une "valeur de code" unique, c’est-à-dire un nombre unique, entre 0 et pour chaque caractère. Ainsi, exactement deux octets, soit un mot de 16 bits, permettent de représenter la valeur de tout point de code du "plan multilingue de base" (PMB), à la condition que le point de code soit assigné, c’est-à-dire qu’il représente effectivement un caractère. Cette forme de codage est obsolète car elle ne permet pas de représenter les points de code extérieurs au PMB. Codage des caractères
Aujourd'hui, le TRON inclut les codages suivants : Codage des caractères
Sur Internet, l'UTF-8 et l'ASCII sont les deux encodages les plus populaires depuis 2010. En juillet 2012, leur utilisation est estimée conjointement à 80 % (UTF-8: 65 % et ASCII: 15 %), contre 10 % environ pour les encodages occidentaux (latin1) et le solde (< 10 %) pour tous les autres.→ Codage entropique
Historiquement développé dans les années 1940-50 avec la théorie de l'information, le codage entropique est devenu une technique fondamentale en compression de données, et est présent dans de nombreux programmes de compression et de normes de compression d'image et de compression vidéo. W-CDMA
Variante de la technique CDMA, le W-CDMA ("", « multiplexage par code à large bande ») est une technique de codage utilisée dans la partie radio (UTRAN) des réseaux de téléphonie mobile UMTS, de troisième génération. Les normes UMTS rédigées par l'organisme 3GPP définissent cette technique de codage et de modulation des ondes radio. Codage des caractères
Différentes solutions ont été envisagées : d’abord définir un système permettant de modifier dynamiquement le jeu de caractère codé utilisé ou le groupe de caractères utilisé dans une écriture complexe. Ce système a pu fonctionner pour conserver la compatibilité avec les systèmes de communication restreints à 7 bits, et a donné lieu aux standards comme le Videotex ou les premiers systèmes de Télétexte, et reprenait en fait l’idée déjà en place pour les télex. Histoire de l'informatique
Les premiers enregistrements du son étaient analogiques, sur disques ou bandes magnétiques. La télévision a longtemps utilisé la modulation des ondes, donc un phénomène physique continu, pour transporter les images et les sons. Le transport, le codage et le décodage, utilisent alors les caractéristiques continues des machines physiques. Ces codages sont sensibles aux déformations par l’usure matérielle et le bruit. Ils ont l'avantage de rester compréhensibles malgré la dégradation du signal. Code à longueur variable
Ce code est surtout utilisé dans la compression d'image et de vidéo. Les applications directes les plus connues sont les suivantes: le codage de Huffman, le codage de Lempel-Ziv et le codage arithmétique. Codage de Huffman
Le codage de Huffman est un algorithme de compression de données sans perte. Le codage de Huffman utilise un code à longueur variable pour représenter un symbole de la source (par exemple un caractère dans un fichier). Le code est déterminé à partir d'une estimation des probabilités d'apparition des symboles de source, un code court étant associé aux symboles de source les plus fréquents. Encodage-pourcent
Lorsque des données qui ont été saisies dans des formulaires HTML sont envoyées, les noms de champs des formulaires et les valeurs sont codées puis envoyées au serveur dans un message de requête HTTP utilisant la méthode GET ou POST, ou, historiquement, via e-mail. L'encodage utilisé par défaut est basé sur une version primitive des règles d’encodage-pourcent des URI, avec un certain nombre de modifications telles que la normalisation du saut de ligne et le remplacement des espaces par codice_24 au lieu de codice_25. Le type de support (MIME) des données encodées de cette façon est codice_1, et il est actuellement défini (toujours de manière très désuète) dans les spécifications HTML et XForms. En outre, la spécification CGI contient des règles sur la façon dont les serveurs web décodent les données de ce type et les rendent disponibles aux applications. Note d'opinion moyenne
Il existe un très grand nombre de codecs audio différents, basés sur des algorithmes de compression radicalement distincts. On distingue généralement trois familles : Codage par plages
Considérons un ensemble de données contenant des plages de valeurs répétées comme suit. Cet ensemble pourrait être représenté ainsi par un système de codage par plages: Dans cette représentation, des caractères ont été épargnés aux deux endroits dans l'ensemble où se trouvaient des caractères répétés. Cependant, comme chaque caractère est suivi d'un nombre de répétitions, un caractère a été rajouté aux deux emplacements ou se trouvaient des caractères n'étant pas répétés. Une approche pour éviter cet inconvénient pourrait être d'utiliser un caractère spécifique pour signaler une répétition: Cependant, cette approche a pour défaut de nécessiter un caractère de plus pour chaque répétition; l'algorithme devient donc inutile pour des plages de moins de quatre valeurs identiques. Par ailleurs, selon la façon dont une telle approche est implémentée, il est possible que l'on doive lui dédier un caractère, qui ne pourra donc pas apparaître dans l'ensemble de données puisqu'il sera réservé à la signalisation des répétitions. Une solution à ce deuxième problème serait de plutôt signaler la présence d'un nombre de répétitions en répétant d'abord la valeur un certain nombre de fois dans l'ensemble comprimé.Le codage par longueur de plage est aussi utilisé pour les fax Groupe 3 et Groupe 4 (Recommandations ITU-T T.4 et T.6), son usage le plus fréquent hors informatique. Les lignes, ici des successions de points blancs ou noirs, sont codées par leur longueur en pixel de chaque couleur. Mais les longueurs sont codées en fonction de leur fréquence d'apparition. Et ce codage fait partie de la spécification. Il s'agit d'une sorte de compression Huffman prédéfinie. Chaque segment est forcément de la couleur opposée et cette couleur ne doit donc pas être transmise, augmentant la compression. Dans l'exemple le W et B ne sont pas transmis. Par contre, cela implique que chaque ligne commence par une couleur connue. Et quand la longueur dépasse celle possible, on intercale l'autre couleur mais de longueur nulle. Code QR
Un code QR, en anglais , en forme longue , « code à réponse rapide », est un type de code-barres à deux dimensions (ou code matriciel) constitué de modules-carrés noirs disposés dans un carré à fond blanc. Ces points définissent l'information que contient le code. Il existe d'autres formats de code-barres à deux dimensions au fonctionnement similaire, comme le Flashcode ou encore le 2D-Doc, souvent confondus avec le code QR. Codage différentiel
Un exemple d'utilisation du codage différentiel est la , « Delta Encoding in HTTP » (littéralement « Codage différentiel en HTTP »), qui suggère que les serveurs HTTP devraient être capable de transmettre les mises à jour des pages Web sous forme de différences entre les versions (deltas), dans le but de réduire le trafic Internet généré, étant donné que la plupart des pages n'évoluent que très lentement, et ne sont pas totalement modifiées à chaque mise à jour. Codage binaire tronqué
Le codage binaire tronqué (aussi appelé «  » ou «  » dans les compresseurs de la ) est un codage entropique utilisé essentiellement en compression de données et s'appuyant sur la base 2. Format de fichier audio
Dans un format donné, les fichiers peuvent être déclinés en plusieurs échelles de quantification (8, 16 ou 24 bits) avec différentes fréquences d'échantillonnage (par exemple , , , , , , ,) appliqués à un certain nombre de voies (monophonique, stéréophonique, 5.1 surround). Les formats qui utilisent la réduction de débit par codage psychoacoustique proposent diverses qualités de reproduction, correspondant à plus ou moins de réduction de débit. Plan de codage clavier
On caractérise parfois un plan de codage d'un clavier par la liste des six premières lettres : ainsi, le clavier américain est dit QWERTY, tandis que le clavier français est dit AZERTY. Un plan de codage, établi par l'usage, correspond généralement à une langue, mais certains pays ou zones linguistiques possèdent leur système propre. Ainsi, le clavier suisse (romand ou allemand, selon la configuration), dérivé du type QWERTZ allemand, permet l'écriture aisée des lettres alternativement avec accents ou "Umlaut" (tréma). Code à longueur variable
Les codes à longueur variable peuvent permettre à la source d'être compressée et décompressée avec une erreur nulle: il s'agit d'une compression sans perte. L'opération inverse du codage est alors possible pour chaque symbole. À partir d'une bonne stratégie de codage, une source i.i.d peut être compressée arbitrairement proche de son entropie, ce qui permet par exemple d'associer des mots longs aux symboles sources les moins fréquents. C'est la différence avec les méthodes de codage à longueur fixe. Base64
Ce processus de codage consiste à coder chaque groupe de 24 bits successifs de données par une chaîne de 4 caractères. On procède du début à la fin, en concaténant pour créer un seul groupement de 24 bits (8 bits par octet). Ils sont alors séparés en 4 nombres de seulement 6 bits (qui en binaire ne permettent que 64 combinaisons). Chacune des 4 valeurs est enfin représentée (codée) par un caractère de l'alphabet retenu. (Table ci-dessous.) Codage binaire tronqué
Le codage binaire tronqué est utilisé pour coder un alphabet dont la taille n'est pas une puissance de 2, lorsque la longueur du code est critique. Dans le cas général (lorsque la vitesse est plus importante que la longueur du code), le codage binaire est préféré car il est plus simple et plus rapide à manipuler (notamment car sa taille fixe permet un indiçage immédiat). High Speed Downlink Packet Access
peuvent être alloués au même utilisateur pour augmenter le débit significativement. La plupart des mobiles HSDPA actuels (2012) supportent , mais certains mobiles (UE) plus anciens ne supportent que 5 ou . L’AMC désigne l’adaptation dynamique du schéma de codage (et donc du débit) en fonction des conditions radio. Le mobile remonte le CQI (qualité du signal reçu) au qui réajuste le schéma de codage toutes les : choix d’un codage plus ou moins protecteur avec plus ou moins de redondance, choix d’une modulation QPSK ou . La modulation QPSK (') permet de coder par symbole. En revanche, la modulation 16-QAM (') permet de coder par symbole, ce qui permet de doubler le débit. Par contre, cette modulation n’est possible qu’en présence de bonnes conditions radio car peu tolérante aux erreurs. En UMTS, l’établissement de la transmission par paquet se fait à partir du RNC, tandis qu’en HSDPA, elle se fait à partir du . Cela permet de réagir beaucoup plus rapidement, notamment grâce à un TTI (") plus court. Ainsi, chaque utilisateur dispose du même temps mais grâce à l’AMC, le schéma de codage est propre à chacun ce qui lui permet d’obtenir le meilleur débit possible en fonction de ses conditions radio. Le TTI (") est l’intervalle entre la transmission des blocs de données. D’une durée variable de à en UMTS, il passe à en HSDPA ce qui permet de réagir plus vite en fonction des conditions radio, d’adapter le schéma de codage plus régulièrement et de supporter un trafic et un nombre d’utilisateurs plus importants. Table des caractères Unicode
L’espace total de codage est divisé en 17 plans contenant chacun points de code. Dans chacun des 17 plans, les deux derniers points de code sont alloués et réservés à des fonctions spéciales internes et non à des caractères, et ils ne doivent pas être utilisés pour le codage de textes. Context-adaptive binary arithmetic coding
Dans la norme H.264, il existe deux codeurs entropiques qui se distinguent des autres normes vidéo : CAVLC ( "Context-adaptive variable-length coding") et CABAC ( "Context-adaptive binary arithmetic coding"). Ce dernier n'est pas utilisé dans tous les profils de codage définis par la norme : il est seulement supporté dans le profil "Main" et des profils supérieurs, c'est-à-dire supérieurs par le débit qu'ils autorisent. La raison est due à la complexité du CABAC qui nécessite une grande quantité de ressources pour traiter et décoder les données, en comparaison avec des algorithmes similaires. En comparaison, le CAVLC est moins exigeant au niveau des ressources, c'est pourquoi il est présent sur tous les profils et les plus petites plateformes (par exemple les mobiles). Codage par plages
Le codage par plages ou codage par longueur de plage(appelé en anglais Run-Length Encoding/RLE) est un algorithme de compression de données sans perte qui repose sur l'idée de comprimer des plages de valeurs identiques en signalant le nombre de fois qu'une valeur donnée devrait être répétée. Non Return to Zero
Le codage est à deux états : le signal se trouve dans un état (par exemple à l’état haut) lorsque des 1 logiques sont transmis, et dans l'autre état (à l’état bas dans l'exemple) lorsque des 0 logiques sont transmis. Ces deux "états" correspondent à deux "niveaux de tension" symétriques par rapport à 0. L'exemple utilisé ci-contre n'est pas la règle générale : l'état haut ne correspond pas toujours au 1 logique. Notamment dans le cas de la liaison série RS-232, le 0 est codé et le 1 est codé . Codage des caractères
Code Baudot (1874) : 32 codes (5 bits). Il permettait de transmettre des caractères non accentués et ne servait que pour le Telex. Il permettait de transmettre les vingt-six lettres non accentuées, les dix chiffres, ainsi qu'une douzaine de symboles supplémentaires. Code (information)
Les données transmises ou conservées électroniquement consistent en une longue série de zéros et de uns (les bits) dont la combinaison définit nombres, symboles ou (par exemple, codice_1 = 'A'). Ce sont des codages de caractères. Dans un autre code, la même combinaison de bits pourrait signifier le nombre 193. D'autres types de données aussi, par exemple, les séquences des bases nucléiques dans les brins d'ADN sont exprimés par des codes. ISCII
Les écritures couvertes sont le bengalî (dont l’assamais), le dévanâgarî, le goudjarâtî, le gourmoukhî, le kannada (ou kannara), le malayalam, l’odia (or oriya), le tamoul et le télougou. Les langues utilisant l’écriture arabe ne sont pas couvertes par l’ISCII. Le codage est basé sur le jeu sur 7 bits ISO/CEI 646 dans sa version américaine (ASCII), complété par une page de code haute, sélectionnable selon l’écriture désirée par des séquences de contrôle ou d’échappement, le codage ISCII utilisant un ensemble de codets sur 8 bits dont l'interprétation est contextuelle : hors du jeu ASCII de base, les autres caractères peuvent être codés selon l’état sur un ou plusieurs codets. Ère de l'information
Le codage par transformée en cosinus discrète (DCT), une technique de compression de données proposée pour la première fois par Nasir Ahmed en 1972 permet la transmission pratique de médias numériques avec des formats de compression d'image tels que JPEG (1992), des formats de codage vidéo tels que MPEG (à partir de 1993), des normes de codage audio telles que Dolby Digital (1991) et MP3 (1994), et normes de télévision numérique comme la vidéo à la demande (VOD) et la télévision haute définition (HDTV). La vidéo sur Internet est popularisée par YouTube, une plate-forme de vidéo en ligne fondée par Chad Hurley, Jawed Karim et Steve Chen en 2005, qui permet la diffusion vidéo en continu de contenu généré par les utilisateurs de n'importe où sur le World Wide Web. Codage omega
Comme le codage gamma et le codage delta, le codage omega permet de coder tous les entiers naturels, à l'exception de zéro, sans qu'il y ait besoin de connaitre au préalable l'intervalle des valeurs à coder (contrairement, par exemple, au codage binaire de taille fixe, qui ne permet de coder que des nombres inférieurs à une borne supérieure fixée à l'avance). Binary Ordered Compression for Unicode
Le BOCU-1 est un schéma de transformation du texte, compatible avec le répertoire universel d’Unicode et ISO/CEI 10646, en séquences d’octets. Il tire son nom de l’acronyme anglais de "Binary Ordered Compression for Unicode" (« compression ordonnée binairement pour Unicode »), qui décrit une méthode brevetée de codage plus générale, et dont BOCU-1 est une des variantes possibles ; cette variante est standardisée de façon très stricte (de façon bien plus limitative que la méthode de codage "BOCU" qui a d’autres applications que le seul codage du texte) et réutilisable sous cette forme dans des applications libres (sous certaines réserves concernant certaines modifications qui restent interdites sans l’obtention préalable d’une autorisation et d’une licence spécifiques si ces modifications ne sont pas strictement conformes à la spécification de cette seule variante). Video Acceleration API
Le décodage est la partie la plus fréquemment prise en charge, mais le codage est aussi possible (par exemple avec les processeurs Intel de la famille Sandy Bridge). Techniquement le codage serait également possible sur les SoC Atom E6xx. Codage des caractères
Dans certains contextes (en particulier dans les communications et dans l'utilisation de données informatiques), il est important de distinguer un "répertoire de caractères", qui est un jeu complet de caractères abstraits qu'un système supporte, et un "jeu de caractères codés" ou "codage de caractères" qui spécifie comment représenter un caractère en utilisant un entier. Codage des caractères
Le terme "jeu de caractères codés" est parfois confondu avec la façon dont les caractères sont représentés par une certaine séquence de bits, ce qui implique une "forme de codage" où le code entier est converti en un ou plusieurs codets (c’est-à-dire des valeurs codées) entiers qui facilitent le stockage dans un système qui gère les données par groupe de bits de taille fixe ou variable. Format de fichier Au
Le type d'encodage des données est lié à la valeur du champ "Encodage" de l'en-tête). Les formats 2 à 7 sont des données non compressées au format PCM, donc sans pertes. Les formats 23 à 26 sont en ADPCM (qui a une compression très destructrice d'un rapport de 4:1). Les formats 1 et 27 sont respectivement en µ-law et en A-Law, tous deux avec pertes. La plupart des autres valeurs représentent des commandes DSP ou des données conçues pour être traitées par le logiciel MusicKit de NeXT. Code correcteur
Avant sa transmission, le message est encodé, c'est-à-dire qu'il est transformé en une autre suite "y"=φ("x") de symboles. Ensuite, "y" est transmis par un canal bruité qui va, éventuellement le modifier en "y'." Pour terminer, un décodeur essaie de retrouver le message "x" à partir de "y'." Il est théoriquement équivalent de rechercher "y", puisque le codage est une injection. Lorsque "y" diffère de "y'," on parle d'erreur(s) ou d'altération(s).Un exemple simple est celui du code de répétition. Le cas étudié ici est celui d'un code binaire, c’est-à-dire que les deux alphabets "A" et "A' "sont confondus et égaux à {0,1}. La longueur du code est égale à "un" et la dimension à "trois". Fichier texte
Format de codage American Standard Code for Information Interchange
Le jeu de codage ASCII est défini quasiment identiquement par plusieurs standards différents, a de nombreuses variantes et a donné naissance à une foison (des dizaines ou des centaines) d'extensions plus ou moins incompatibles entre elles. Codage des caractères
En télécommunications et en informatique, un jeu de caractères codés est un code qui associe un jeu de caractères abstraits d’un ou plusieurs systèmes d’écriture (comme des alphabets ou des syllabaires) utilisés pour transcrire des langues naturelles avec une représentation numérique pour chaque caractère de ce jeu, ce nombre pouvant lui-même avoir des représentations numériques différentes. Par exemple, le code Morse (qui associe l’alphabet latin à une série de pressions longues et de pressions courtes sur le manipulateur morse du télégraphe) et le code ASCII (qui code les lettres, les chiffres et d'autres symboles comme des entiers codés sur 7 bits) sont des jeux de caractères codés. Modulation par impulsions et codage
La modulation différentielle (ou delta) d'impulsion-code (DPCM), à l'inverse de la modulation linéaire LPCM, code les valeurs PCM comme différences entre la valeur courante et la valeur précédente. Pour l'audio, ce type de codage réduit le nombre de bits exigé de 25 % environ par rapport au PCM. Codage arithmétique
Le codage arithmétique (au même titre que le Codage de Huffman) est un code à longueur variable, c'est-à-dire qu'un symbole de taille fixe (en bits) sera codé par un nombre variable de bits, de préférence inférieur ou égal à sa taille originale. On ne modifie donc pas la densité de symboles mais leur codage afin de réduire l'espace qu'ils occupent. Encodage sémantique
Dans le domaine de l'informatique, les encodages les plus courants sont la compilation d'un langage de programmation en langage machine ou en langage intermédiaire et la conversion d'un document depuis un format de données vers un autre. La compilation d'un langage de mise en forme tel que TeX, LaTeX ou TEI vers PostScript ou PDF est aussi une forme d'encodage. De même, certains préprocesseurs de haut-niveau tels qu'Apple WorldScript ou Camlp4 pour Objective Caml, procèdent à des encodages entre divers langages de programmation. Codage des caractères
De leur côté, les pays asiatiques orientaux ont développé un système hybride utilisant des pages de code multiples, avec différentes représentations binaires selon que le système permettait de stocker les octets sur 8 bits ou sur 7 bits. L’ISO a aussi mis en place une norme destinée à leur interopérabilité, la norme ISO/CEI 2022, et pour l’Internet, l’IANA a mis en place un registre permettant de référencer tous ces codages. Codage des caractères
Le "codage des caractères" est une convention qui permet, à travers un codage connu de tous, de transmettre de l'information textuelle, là où aucun support ne permet l'écriture scripturale. Circuit asynchrone
Enfin, un autre codage double rail existe, destiné à un protocole à deux phases : tous les états sont signifiants, mais deux codes correspondent à chaque valeur d'un bit, ce qui permet bien de changer d'état à chaque nouvelle donnée ; on parle de "codage quatre-états".