Ajouter un commentaire

fredericmazue

Quote:
alors mes amis

Tiens nous sommes tes amis maintenant ?

Quote:
je doit faire quoi? je suis vraiment perdu.

J'ai déjà essayé plusieurs fois de te le dire et de plusieurs façons. Je fais une nouvelle tentative, aussi concise et claire que j'en suis capable.

1) tant que tu voudras coder/écrire du "voiture" ta question n'a pas de sens, car en utf-8 le codage est le même qu'en ASCII. Ce qui veut dire que tu écris les octets dans le fichier exactement de la même façon que si c'était de l'ASCII. Et sur le fond, ça ne change pas grand chose avec utf-16. Simple ajout d'un octet nul dans ton cas. Mais là on est loin d'un "vrai" encodage. Donc pour parler en disant quelque chose qui a du sens, j'ai proposé l'exemple "fâché" plutôt que "voiture"

2) tu vas sur le site que tu as toi même indiqué et tu regardes par exemple en utf-8 comment "fâché" est codé. Tu va voir 66 C3 A2 63 68 C3 A9 soit 6 octets. parce que le â et le é sont de l'ASCII étendu, et là ils sont "vraiment" codés. Et dans leur cas, avec 2 octets chacun.

3) comment sont-ils codés ? tu vas à http://fr.wikipedia.org/wiki/UTF-8 (et à http://fr.wikipedia.org/wiki/UTF-16 pour utf-16) tu lis les explications, et si tu as compris, tu peux vérifier que 66 C3 A2 63 68 C3 A9 était juste.

4) maintenant que tu as compris, tu écris une routine qui code chaque caractère d'une chaîne, et tu écris le résultat dans le fichier un caractère après l'autre.

f -> 66 dans le fichier
â -> C3 A2 dans le fichier

et ainsi de suite.

(remarque: je dis un caractère après l'autre parce que c'est le plus simple, je ne dis pas que c'est le plus performant.)

5) pour lire. Il faut aussi que tu pondes une routine, mais là c'est un peu plus difficile. Tu lis d'abord un octet dans le fichier. Soit le résultat est immédiat , ex:66 -> f = 66
soit l'octet que tu lis te dis, par ses bits de poids fort, comment le caractère est codé. Par exemple C3 ca t'annonce que c'est codé sur 2 octets, si tu as compris le système. Donc tu lis un deuxième octet. De ces deux octets tu vires les bits de codage avecu n masque binaire. Tu assembles les bits qu'il te reste et tu as ton caractère.

C3 A2 -> E2

Et ainsi de suite jusqu'à la fin du fichier.

Bon courage pour ton application giganteque :D

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  QQQ    RRRR    SSS   PPPP   III 
Q Q R R S P P I
Q Q RRRR SSS PPPP I
Q QQ R R S P I
QQQQ R RR SSSS P III
Q