Dimanche matin pluvieux

Par yansanmo

2007-07-08 11:02:18

J'ai travaillé jusqu'à 23h hier avec Hans. Finalement, on a convenu d'envoyer des fichiers en base64, en paramètres. Il y aurait eu trop de complication à réinventer la roue et faire du multipart. J'ai utilisé et recodé un algorithme (domaine public) de conversion base64 que j'ai trouvé sur Internet. Voici les classes Javascript utilisées pour ouvrir un fichier et le convertir en base 64:

@mozilla.org/file/local;1
Components.interfaces.nsILocalFile
@mozilla.org/network/file-input-stream
Components.interfaces.nsIFileInputStream
@mozilla.org/binaryinputstream;1
Components.interfaces.nsIBinaryInputStream

L'interface nsIBinaryInputStream permet de créer un tableau d'entiers du fichier. Je fais ensuite une boucle sur chaque 3 octets du fichier et je les convertis en 4 caractères provenant d'un tableau de 64 caractères (symboles). Pour ceux qui veulent faire le calcul: 3 octets de 8 bits, ça donne 24 bits d'information. 4 octets de 6 bits (2^6 = 64 possibilités), ça donne aussi 24 bits d'information. Puisque j'utilise 4 octets (32 bits), il me reste 8 bits non utilisés qui sont perdus.

Ouf, si vous n'avez pas suivi ou compris, c'est pas grave. C'est mon boulot de comprendre ça et de l'expliquer à ceux qui désire devenir programmeur... Mais bon, la raison principale d'encoder le fichier, c'est qu'on veut enlever certains caractères spéciaux utilisés comme délimiteur. Et un délimiteur, en informatique et en technologie de l'information, c'est essentiel. Voiciunexempledesuppressiondedélimiteurdemot.


<<Précédente Suivante>>


Ajout d'un commentaire