Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MIME base64

1 réponse
Avatar
Frantz Dorsemaine
Bonjour, voici un autre petit probl=E8me.

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

Plus l'image est lourde, plus l'=E9cart 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=3D$enr.=3Dencode_base64($buf);
}

print f_img decode_base64($enr);

close(f_img);

Merci pour vos r=E9ponses.

Le but une fois que cela fonctionne, est de stocker des images de petite ta=
ille dans une base MySql.

1 réponse

Avatar
Klaus
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.