UTF-EBCDIC - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Unicode
Jeux de caractères
  • UCS (ISO/CEI 10646)
  • ISO 646, ASCII
  • ISO 8859-1
  • WGL4
  • UniHan
Équivalences normalisées
  • NFC (précomposée)
  • NFD (décomposée)
  • NFKC (compatibilité)
  • NFKD (compatibilité)
Propriétés et algorithmes
Codage
Autres transformations
  • Punycode
  • GB 18030
Applications d'échanges de données
  • Courriel et Unicode
  • Unicode et HTML

UTF-EBCDIC est un codage de caractères utilisé pour représenter les caractères Unicode. Il est conçu pour être compatible avec l’EBCDIC, de sorte que les applications EBCDIC existantes sur les mainframes puissent accepter et traiter les caractères sans grosse difficulté. Ses avantages pour les systèmes existants basés sur l’EBCDIC sont similaires à ceux de l’UTF-8 pour les systèmes basés sur l’ASCII. Les détails sur la transformation UTF-EBCDIC sont définis dans le Rapport technique Unicode n°16 (UTR #16).

Transformation d'un point de code Unicode en séquence UTF-EBCDIC

Transformation intermédiaire UTF-8-Mod

Pour produire la version encodée en UTF-EBCDIC d'une suite de points de code Unicode, une première transformation intermédiaire, similaire à l’UTF-8 (désignée dans les spécifications comme UTF-8-Mod), est d'abord appliquée ; la principale différence entre cette transformation intermédiaire et l’UTF-8 est qu’elle permet de représenter les points de code 0+0080 à U+009F (les caractères de contrôle C1) sur un seul octet, et de continuer à les utiliser en tant que codes de contrôle EBCDIC.

Pour y parvenir, le motif binaire 101xxxxx a été utilisé au lieu de 10xxxxxx pour représenter les octets finals d’une séquence multi-octet représentant un seul point de code. Puisque cela ne laisse que 5 bits significatifs au lieu de 6 pour les octets finals, l’UTF-EBCDIC produira souvent un résultat un peu plus long que celui obtenu avec l’UTF-8, pour les mêmes données d’entrée.

Le rapport technique n°16 stipule que le résultat de la première transformation UTF-8-Mod ne doit pas être utilisée pour les communications entre systèmes.

Permutation finale, compatible ASCII vers EBCDIC

Correspondance des octets UTF-8-Mod en octets UTF-EBCDIC
Quartet
haut
Quartet bas (toutes les valeurs sont en hexadécimal)
...0 ...1 ...2 ...3 ...4 ...5 ...6 ...7 ...8 ...9 ...A ...B ...C ...D ...E ...F
0... 00 01 02 03 37 2D 2E 2F 16 05 15 0B 0C 0D 0E 0F
1... 10 11 12 13 3C 3D 32 26 18 19 3F 27 1C 1D 1E 1F
2... 40 5A 7F 7B 5B 6C 50 7D 4D 5D 5C 4E 6B 60 4B 61
3... F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F
4... 7C C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 D2 D3 D4 D5 D6
5... D7 D8 D9 E2 E3 E4 E5 E6 E7 E8 E9 AD E0 BD 5F 6D
6... 79 81 82 83 84 85 86 87 88 89 91 92 93 94 95 96
7... 97 98 99 A2 A3 A4 A5 A6 A7 A8 A9 C0 4F D0 A1 07
8... 20 21 22 23 24 25 06 17 28 29 2A 2B 2C 09 0A 1B
9... 30 31 1A 33 34 35 36 08 38 39 3A 3B 04 14 3E FF
A... 41 42 43 44 45 46 47 48 49 4A 51 52 53 54 55 56
B... 57 58 59 62 63 64 65 66 67 68 69 6A 70 71 72 73
C... 80 8A 8B 8C 8D 8E 8F 90 9A 9B 9C
D... 9D 9E 9F A0 AA AB AC AE AF B0 B1 B2 B3 B4 B5 B6
E... B8 B9 BA BB BC BE BF CA CB CC CD CE CF DA DB
F... DC DD DE DF E1 EA EB EC ED EE EF FA FB FC

Notes :

  • les octets de séquences UTF-8-Mod 0xC0..0xC4 et 0xE0, ainsi que les octets correspondants
    UTF-EBCDIC 0x74...0x78 et 0xB7 ne seront pas utilisés avec les séquences les plus courtes.
  • les octets de séquences UTF-8-Mod 0xFE..0xFF, ainsi que les octets correspondants
    UTF-EBCDIC 0xFD...0xFE ne seront pas utilisés pour le codage d’Unicode, mais uniquement pour
    les codets de l’UCS-4 de l’ancienne norme ISO 10646:2000, étendu à 31 bits par point de code.

La table montre en italique et petits caractères les entrées correspondantes.

La transformation intermédiaire précédente laisse les données dans un format basé sur l’ASCII, aussi une transformation réversible de permutation d’octets est opérée sur les séquences d’octets intermédiaires, afin de les rendre aussi proche que possible de l’EBCDIC au moyen d’une table de correspondance.

Toutefois cela n’est possible que pour les positions invariantes de l’EBCDIC, la table de permutation étant basée directement sur la transformation réversible de la version américaine de l’ISO 646 (communément appelée ASCII) en la version américaine de l’EBCDIC : l’UTF-EBCDIC ne définit ni n’utilise aucune autre table de transformation pour les autres versions nationales de l’ISO 646 et de l’EBCDIC.

Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise