web-dev-qa-db-fra.com

Quel est l'encodage des caractères chinois sur Wikipédia?

Je regardais l'encodage des caractères chinois sur Wikipédia et j'ai du mal à comprendre ce qu'ils utilisent. Par exemple, "的" est codé comme "% E7% 9A% 84" ( voir ici ). C'est trois octets, mais aucun des encodages décrits sur cette page utilise trois octets pour représenter les caractères chinois. UTF-8, par exemple, utilise 2 octets.

J'essaie essentiellement de faire correspondre ces trois octets à un caractère réel. Une suggestion sur quel encodage cela pourrait être?

22
laurent

>>> c='\xe7\x9a\x84'.decode('utf8')
>>> c
u'\u7684'
>>> print c
的

24
jcomeau_ictx

L'en-tête d'une page wikipedia comprend ceci:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

La page est donc UTF-8.

18
Adam

L'exemple que vous donnez est un IRI .

Les IRI utilisent le codage UTF8. UTF8 implémente unicode, et en unicode, chaque caractère a un codepoint, c'est-à-dire entre 0x4E00 et 0x9FFF (2 octets) pour tous les caractères chinois.

Mais UTF8 n'encode pas les caractères en stockant simplement leur codepoint (UTF32 fait cela). Au lieu de cela, il utilise un standard plus complexe , qui fait tous les idéogrammes chinois 2 ou 3 octets de long.

4
lovasoa