Charger un fichier
  1. base64hub
  2. Outils texte
  3. ASCII en Base64

ASCII en Base64 : encoder du texte 7 bits

Encodez du texte avec le jeu de caractères ASCII 7 bits. Les caractères hors ASCII sont remplacés par ? et comptés : vous savez tout de suite si votre entrée est moins simple qu’elle n’en a l’air.

Gratuit sans inscription, sans limites Local rien n'est envoyé 0–127 uniquement, le reste est signalé Mis à jour 27 oct. 2026
Entrée 0 BSortie 0 BTaille –

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment encoder du texte ASCII en Base64

  1. Tapez ou collez le texte dans Entrée · texte. Le Jeu de caractères est réglé sur ASCII.
  2. Le Base64 apparaît dans Sortie · Base64. Si le texte contient des caractères hors ASCII, un avertissement sous l’outil indique combien ont été remplacés par ?.
  3. Supprimez ou remplacez ces caractères, ou passez le Jeu de caractères en UTF-8 si le destinataire le comprend.
  4. Copiez le résultat ou téléchargez-le sous forme de base64.txt.

L’opération inverse est Base64 en ASCII.

Ce qui compte comme ASCII

ASCII définit 128 codes, de 0 à 127, d’un octet chacun avec le bit de poids fort à zéro. Les codes 32 à 126 sont les caractères imprimables : l’espace, les chiffres, les lettres anglaises et la ponctuation courante. Les codes 0 à 31 et 127 sont des caractères de contrôle, comme la tabulation (9), le saut de ligne (10) et le retour chariot (13).

Tout le reste, y compris é, ß, €, les guillemets typographiques, les espaces insécables et les emoji, n’est pas de l’ASCII. Le texte collé depuis un traitement de texte ou une page web en contient souvent à votre insu, le plus souvent des guillemets et des tirets typographiques, et l’avertissement de remplacement les repère.

Exemples

TexteBase64Remarque
Hello, ASCII!SGVsbG8sIEFTQ0lJIQ==Identique en UTF-8
200 OKMjAwIE9L6 octets, pas de remplissage
{}[]<>e31bXTw+La ponctuation, ce sont des octets ordinaires
a, tabulation, bYQliLa tabulation est l’octet 09
line1 CR LF line2bGluZTENCmxpbmUy0D 0A au milieu
user:passdXNlcjpwYXNzIdentifiants HTTP Basic auth
GrüßeR3I/P2U=2 caractères remplacés par ?
naïve cafébmE/dmUgY2FmPw==2 caractères remplacés par ?

Encoder chaque caractère sur un octet rend aussi la taille facile à prévoir : n caractères donnent 4 × ⌈n / 3⌉ caractères Base64.

Pourquoi ASCII et Base64 vont ensemble

Base64 a été conçu pour des canaux qui ne transportaient de façon fiable que de l’ASCII 7 bits. Les débuts de l’e-mail (SMTP) en sont l’exemple classique : les octets au-delà de 127 pouvaient être supprimés ou altérés en route, si bien que les pièces jointes binaires et les textes non anglais étaient encodés dans un sous-ensemble de l’ASCII que tous les systèmes géraient. C’est toujours la raison d’être de Base64, et cela explique son alphabet : 64 caractères imprimables, identiques dans tous les jeux de caractères dérivés de l’ASCII et, à part + et /, sans caractère ayant un sens particulier dans les formats courants. Le fonctionnement de Base64 détaille la mécanique.

Certains systèmes n’acceptent encore que l’ASCII, par exemple des interfaces anciennes et les valeurs d’en-têtes HTTP, où le traitement du non-ASCII varie selon les serveurs. Encoder ici avec le jeu de caractères ASCII confirme que l’entrée est sûre pour eux avant qu’elle parte ailleurs. Pour l’en-tête Authorization en particulier, le générateur d’en-tête Basic Auth construit la valeur complète Basic dXNlcjpwYXNz.

ASCII en Base64 dans le code

Python refuse par défaut les caractères non ASCII, ce qui fait une vérification utile :

import base64

base64.b64encode("200 OK".encode("ascii")).decode()   # 'MjAwIE9L'
"Grüße".encode("ascii")
# UnicodeEncodeError: 'ascii' codec can't encode characters in position 2-3
"Grüße".encode("ascii", errors="replace")              # b'Gr??e', like this tool

En JavaScript, btoa() accepte tous les caractères jusqu’au code 255 : il ne repérera donc pas des lettres Latin-1 comme ü. Testez d’abord la chaîne avec /^[\x00-\x7F]*$/.test(s) si elle doit être purement ASCII. Plus de détails sur les pages Python et JavaScript.

FAQ

ASCII en Base64, est-ce différent d'UTF-8 en Base64 ?

Pas pour du texte purement ASCII. UTF-8 a été conçu pour que les 128 premiers caractères gardent leur valeur d’octet ASCII : Hello, ASCII! donne donc SGVsbG8sIEFTQ0lJIQ== dans les deux cas. Ils ne diffèrent que si le texte contient d’autres caractères.

Que deviennent les caractères comme ü ou les emoji ?

ASCII n’a pas de code pour eux : chacun devient ? (octet 3F) et l’outil indique combien ont été remplacés. Grüße s’encode en R3I/P2U=, qui se décode en Gr??e.

La sortie Base64 est-elle elle-même de l'ASCII ?

Oui. Les 65 caractères qu’utilise Base64 (A–Z, a–z, 0–9, +, / et =) sont de l’ASCII imprimable, c’est pourquoi Base64 passe dans les systèmes qui ne gèrent que du texte 7 bits.

Peut-on encoder des caractères de contrôle comme les tabulations et les sauts de ligne ?

Oui. Ils font aussi partie de l’ASCII (codes 0–31) et s’encodent comme n’importe quel autre octet : a, tabulation, b donne YQli.