Utilisateur:Sunchock/Article: Citer un article sur Wikipédia

Une page de Wikipédia, l'encyclopédie libre.

Le language de programmation HTML (de l'Anglais "Hypertext Markup Language") a été créé en {année: 1991}. Mais son succès international démarre réellement dans lesla version HTML 4.0 parue en décembre 1997 a été la première version normalisée internationale où les personnages étaient raisonnablement complet de traitement. Lorsqu'un document HTML inclut des caractères spéciaux en dehors de la plage de sept bits ASCII deux objectifs sont à envisager: l'information de l'intégrité, et l'universalité de navigateur d'affichage.

En précisant le document de l'encodage des caractères[modifier | modifier le code]

Il y a plusieurs façons de spécifier le codage des caractères est utilisé dans le document. Tout d'abord, le serveur web peut inclure le codage des caractères ou "charset" dans le Protocole de Transfert Hypertexte (HTTP) le Type de Contenu d' en-tête, qui seraient normalement ressembler à ceci:[1]

Content-Type: text/html; charset=ISO-8859-4

Cette méthode donne le serveur HTTP d'un moyen pratique pour modifier le document d'encodage en fonction de la négociation de contenu; certains serveur HTTP le logiciel peut le faire, par exemple, Apache avec le module de mod_charset_lite.[2]

Pour le HTML, il est possible d'inclure cette information à l'intérieur de la tête de l'élément de près de la partie supérieure du document:

HTML5 permet également la syntaxe suivante pour dire exactement la même chose:[3]

XHTML documents ont une troisième option: pour exprimer l'encodage des caractères via XML de la déclaration, comme suit:[4]

Noter que l'encodage des caractères ne peut être connu que cette déclaration est analysé, il y a peut être un problème de savoir quel encodage est utilisé pour la déclaration elle-même. Le principe de base est que la déclaration doit être codé dans le format ASCII pur, et par conséquent (si la déclaration est à l'intérieur du fichier) l'encodage doit être une extension ASCII. Afin de permettre à des codages pas compatible avec l'ASCII, les navigateurs doivent être en mesure d'analyser les déclarations dans ces codages. Des exemples de tels encodage est UTF-16BE et UTF-16LE.

Grâce à HTML5 recommandé charset est UTF-8.[3] Un "codage renifler algorithme" est défini dans le cahier des charges pour déterminer l'encodage de caractères du document basé sur plusieurs sources de données, y compris:

  1. Explicite de l'utilisateur instructions
  2. Explicite de la balise meta dans les 1024 premiers octets du document
  3. Une marque d'ordre des Octets dans les trois premiers octets du document
  4. Le HTTP Content-Type ou un autre de la couche de transport de l'information
  5. L'analyse du document octets à la recherche des séquences spécifiques ou des plages de valeurs d'octets,[5] et d'autres provisoire mécanismes de détection.

Pour compatible ASCII codages de caractères la conséquence du choix de manière incorrecte, c'est que les caractères en dehors de l'ASCII imprimables gamme (de 32 à 126) apparaissent généralement de manière incorrecte. Cela pose peu de problèmes pour les anglais-les utilisateurs de langue, mais d'autres langues régulièrement—dans certains cas, toujours exiger des caractères en dehors de cette plage. Dans CJK les environnements où il y a plusieurs différents multi-octets encodages en cours d'utilisation, la détection automatique est également souvent employée. Enfin, les navigateurs permettent généralement à l'utilisateur de remplacer incorrect jeu de caractères de l'étiquette à la main.

Il est de plus en plus courante pour les sites multilingues et de sites web non-Ouest de langues à utiliser UTF-8, ce qui permet d'utiliser le même encodage pour toutes les langues. UTF-16 ou UTF-32, qui peut être utilisé pour toutes les langues, sont moins utilisées car elles peuvent être plus difficiles à gérer dans les langages de programmation qui supposent un octet orientée ASCII sur-ensemble de codage, et ils sont de moins en moins efficace pour le texte avec une haute fréquence de caractères ASCII, ce qui est généralement le cas pour les documents HTML.

Succès de la visualisation d'une page n'est pas nécessairement une indication que son codage est correctement spécifié. Si la page du créateur et le lecteur sont à la fois en supposant qu'une plate-forme spécifique de codage de caractères, et le serveur n'envoie pas les informations d'identification, le lecteur va tout de même voir la page comme le créateur l'a voulu, mais d'autres lecteurs sur les différentes plates-formes ou de langues maternelles différentes ne verrez pas la page comme prévu.

Références de caractère[modifier | modifier le code]

En plus des autochtones encodages de caractères, les caractères peuvent également être codées comme des références à des caractères, qui peuvent être des références à des caractères numériques (décimal ou hexadécimal) ou entité de caractère références. Entité de caractère références sont aussi parfois considérés comme des entités nommées, ou des entités HTML pour HTML. HTML est l'utilisation de références de caractère dérive du SGML.

HTML références de caractère[modifier | modifier le code]

Un caractère numérique de référence dans le HTML fait référence à un personnage par son Jeu de Caractères Universel/Unicode point de code, et utilise le format

&#nnnn;

ou

&#xhhhh;

nnnn est le point de code en décimal forme, et hhhh est le point de code en hexadécimal forme. Le x doit être en minuscules dans des documents XML. Le nnnn ou hhhh peut être n'importe quel nombre de chiffres et peuvent inclure les zéros non significatifs. Le hhhh peut mélanger majuscules et minuscules, bien que la majuscule est le style habituel.

Pas tous les navigateurs web ou les clients de messagerie utilisés par les récepteurs de documents HTML, ou des éditeurs de texte utilisé par les auteurs des documents HTML, seront en mesure de rendre tous les caractères HTML. La plupart des logiciels modernes, est capable d'afficher de la plupart ou tous les caractères de la langue de l'utilisateur, et dessinez une zone ou d'un autre indicateur clair pour les personnages, ils ne peuvent pas afficher.

Pour les codes de 0 à 127, 7 bits ASCII standard de l'ensemble, la plupart de ces caractères peuvent être utilisés sans une référence de caractère. Les Codes de 160 à 255 peuvent tous être créés à l'aide de caractères des noms d'entité. Seulement un peu plus haut-codes numérotés peuvent être créés à l'aide de noms d'entité, mais tout peut être créé par un nombre décimal référence de caractère.

Caractère des références d'entité peut également avoir le format etle nom;le nom est sensible à la casse chaîne alphanumérique. Par exemple, "λ", peut aussi être codé comme &lambda; dans un document HTML. Le caractère des références d'entité &lt;, &gt;, &quot; et &amp; sont prédéfinis dans le HTML et SGML, parce que <, >, " et et sont déjà utilisés pour délimiter le balisage. En particulier, ceci n'inclut pas de XML s &apos; (') de l'entité. Pour une liste de tous les nommés de caractères HTML références d'entité (environ 250), voir Liste de XML et HTML entité de caractère références.

Inutile de caractère HTML références peuvent réduire de façon significative HTML lisibilité. Si l'encodage des caractères d'une page web est choisi de manière appropriée, puis de caractères HTML références sont habituellement seulement nécessaire pour le balisage des caractères de délimitation comme mentionné ci-dessus, et pour quelques caractères spéciaux (ou rien du tout si un natif de l'Unicode encodage comme de l'UTF-8 est utilisé). HTML Incorrect entité échappant peut aussi ouvrir des failles de sécurité pour les attaques par injection telles que le cross-site scripting. Si les attributs sont de gauche non cotées, de certains personnages, surtout les espaces, comme l'espace et la tabulation, doit être échappé à l'aide des entités. D'autres langues liées à HTML ont leurs propres méthodes d'échapper les caractères.

XML références de caractère[modifier | modifier le code]

Contrairement à HTML traditionnel avec sa large gamme d'entité de caractère références, en XML, il y a seulement cinq caractères prédéfinis références d'entité. Elles sont utilisées pour les caractères d'échappement qui sont balisage sensible dans certains contextes:[6]

  • &amp; → & (esperluette, U+0026)
  • &lt; → < (signe inférieur, U+003C)
  • &gt; → > (signe supérieur à, U+003E)
  • &quot; → " (guillemet, U+0022)
  • &apos; → ' (apostrophe, U+0027)

Tous les autres caractères de l'entité références doivent être définies avant d'être utilisées. Par exemple, l'utilisation des &eacute; (qui donne é, latino-bas-de-casse E avec accent aigu, U+00E9 en Unicode) dans un document XML va générer une erreur, sauf si l'entité a déjà été défini. XML exige aussi que le x en hexadécimal les références numériques être en minuscules: par exemple &#xA1b plutôt que &#XA1b. XHTML, qui est une application de XML, prend en charge l'entité HTML, le XML est des entités prédéfinies.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « {{{1}}} »
  2. Apache Module mod_charset_lite
  3. « {{{1}}} »
  4. « {{{1}}} »
  5. HTML5 prescan a byte stream to determine its encoding
  6. « {{{1}}} »

Liens externes[modifier | modifier le code]

[[Catégorie:HTML]]