MIME base64

Le
Frantz Dorsemaine
Bonjour, voici un autre petit problème.

voici un script qui encode en base64 une image png et qui le decode vers un=
autre fichier.
Le problème est que j'ai toujours une difference de quelques octets entre=
l'original et le résulta final.

Plus l'image est lourde, plus l'écart entre les deux fichiers est grand.
#! /usr/bin/perl -w

use MIME::Base64 qw(encode_base64 decode_base64);

my $enr;

open(f_img, ">img_dec.png");

open(FILE, "img2.png") or die "$!";
while (read(FILE, $buf, 30*57)) {
$enr=$enr.=encode_base64($buf);
}

print f_img decode_base64($enr);

close(f_img);

Merci pour vos réponses.

Le but une fois que cela fonctionne, est de stocker des images de petite ta=
ille dans une base MySql.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Klaus
Le #24761962
On 4 sep, 14:53, Frantz Dorsemaine wrote:
Bonjour, voici un autre petit problème.

voici un script qui encode en base64 une image png et qui le decode vers un autre fichier.
Le problème est que j'ai toujours une difference de quelques octets ent re l'original et le résulta final.

Plus l'image est lourde, plus l'écart entre les deux fichiers est grand .



essaie d'employer binmode sur les deux fichiers f_img et FILE:

#! /usr/bin/perl -w

use MIME::Base64 qw(encode_base64 decode_base64);

my $enr;

open(f_img, ">img_dec.png");



binmode f_img;

   open(FILE, "img2.png") or die "$!";



binmode FILE;

   while (read(FILE, $buf, 30*57)) {
    $enr=$enr.=encode_base64($buf);
   }

print f_img decode_base64($enr);

close(f_img);

Merci pour vos réponses.

Le but une fois que cela fonctionne, est de stocker des images de petite taille dans une base MySql.
Publicité
Poster une réponse
Anonyme