Encodage

Gzip/Deflate ↔ Base64

Compression du texte en Gzip ou Deflate avec encodage Base64 du résultat — et inversement. Fonctionne via l'API Compression Streams directement dans le navigateur.

Base64 by itself doesn't compress anything — quite the opposite, it grows the size by about 33%. To send large text compactly through a text-only channel, it's first compressed with Gzip or Deflate, and only then is the result Base64-encoded.

How to use it

Common uses

Things to keep in mind

Compression only pays off on sufficiently large, compressible text — on short strings the Gzip header overhead plus the Base64 expansion can actually make the result bigger.

Deflate skips Gzip's headers, so its output is more compact, but the format is less self-describing: the receiving side needs to know in advance that it's Deflate specifically.

Article sur cet outil: Gzip + Base64 : compresser des données pour les transmettre en texte

Questions fréquentes

Quelle est la différence entre Gzip et Deflate ?

Le Deflate est l'algorithme de compression brut, tandis que le Gzip enveloppe ce même algorithme dans un format avec en-tête et somme de contrôle CRC. Un flux Gzip et un flux Deflate ne sont donc pas interchangeables : il faut utiliser le même format pour compresser et décompresser.

Pourquoi passer par le Base64 après la compression ?

La compression produit des données binaires, illisibles et non transportables telles quelles dans du texte, du JSON ou une URL. L'encodage en Base64 permet de les représenter sous forme de chaîne de caractères imprimables.

Mes données sont-elles envoyées sur un serveur ?

Non, la compression et l'encodage utilisent l'API Compression Streams directement dans le navigateur. Aucune donnée n'est transmise à un serveur.

Pourquoi la décompression donne-t-elle parfois l'erreur « invalid header » ?

La cause la plus fréquente est une confusion de format : les données ont été compressées en Deflate « brut » sans en-tête, mais décompressées comme du Gzip (qui attend son propre en-tête et un CRC-32), ou inversement. Essayez de changer le format dans les paramètres de l'outil.

La compression réduit-elle toujours la taille finale ?

Non. Sur des chaînes très courtes, le surcoût des en-têtes Gzip et l'augmentation due au Base64 peuvent dépasser le gain de compression — l'approche n'a de sens que pour des données textuelles suffisamment volumineuses et compressibles.

Articles : Encodage

Base64 : à quoi sert l'encodage et comment il fonctionne

Comment Base64 transforme des données binaires en texte ASCII, et quand c'est réellement utile.

Base32 : en quoi il diffère de Base64 et quand il est plus pratique

L'alphabet de Base32, insensible à la casse, et les cas où il est plus pratique que Base64.

URL Encode/Decode : le percent-encoding dans les liens

Comment les caractères spéciaux d'une URL et de ses paramètres deviennent des séquences %XX.

HTML Entities : afficher des caractères spéciaux en toute sécurité

Pourquoi les caractères < > & doivent être échappés, et comment cela évite de casser le balisage.

JWT : structure du token et ce que signifie « décoder » un JWT

Le header, le payload et la signature d'un JWT, et pourquoi décoder n'est pas la même chose que vérifier la signature.

Unicode Escape : que signifient les séquences \uXXXX

D'où viennent les séquences du type \u0041 dans le JSON et les chaînes JS, et ce qu'elles signifient.

ROT13 et le chiffre de César : une simple substitution de caractères

Pourquoi un décalage de 13 lettres rend ROT13 auto-inverse, et pourquoi on l'utilise encore aujourd'hui.

Punycode : comment les domaines internationalisés fonctionnent dans le DNS

Comment un domaine avec des caractères non latins devient une forme ASCII avec le préfixe xn--.

Le morse : comment le texte devient des points et des traits

Le principe de l'encodage des lettres en points et traits, et où le morse est encore utilisé aujourd'hui.

Data URI : quand intégrer une image directement dans le code

Comment un Data URI intègre le contenu d'un fichier directement en HTML ou CSS, et quand cela en vaut la peine.

XML Entities : échapper les caractères dans les documents XML

Les cinq entités XML obligatoires, sans lesquelles le document se casse à l'analyse.