Une chaîne base64 est un moyen d'encoder des données binaires (comme des images, de l'audio ou des fichiers) dans un format texte. Ceci est utile pour transmettre des données sur des supports conçus pour gérer du texte (tels que JSON ou XML) ou pour intégrer des données binaires directement dans des pages Web.
Pourquoi l'encodage Base64 ?
-
Text-Friendly : les données binaires telles que les images ne peuvent pas être incluses directement dans JSON ou HTML car elles contiennent des caractères non textuels. Base64 les convertit dans un format texte sûr.
-
Support universel : les chaînes Base64 peuvent être transmises et traitées entre systèmes et plates-formes sans problèmes de compatibilité.
Comment fonctionne Base64
Base64 représente les données binaires sous la forme d'une séquence de caractères ASCII. Pour ce faire, il divise les données binaires en morceaux de 6 bits (puisque ASCII utilise 64 caractères imprimables), puis mappe ces morceaux sur un ensemble prédéfini de 64 caractères ASCII.
Par exemple :
- Données binaires : 01001000 01000101 01001100 01001100 01001111
- Encodage Base64 : SGVMT0
Cas d'utilisation courants
-
Intégration d'images en HTML :
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."/>
-
Stockage des images en JSON :
{
"image": "iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
-
Encodage des fichiers pour la transmission :
Le codage Base64 garantit que les fichiers restent intacts lorsqu'ils sont transmis via des protocoles textuels tels que HTTP ou SMTP.
Exemple Base64 en Python
import base64
# Encode a string to base64
data = "Hello, World!"
encoded = base64.b64encode(data.encode())
print(encoded) # Output: b'SGVsbG8sIFdvcmxkIQ=='
# Decode a base64 string
decoded = base64.b64decode(encoded).decode()
print(decoded) # Output: "Hello, World!"
Caractéristiques des chaînes Base64
-
Padding : les chaînes Base64 se terminent souvent par = ou == pour garantir que la longueur de la chaîne encodée est divisible par 4.
-
Expansion de longueur : Base64 augmente la taille des données d'origine d'environ 33 %. Par exemple, une séquence binaire de 3 octets devient 4 caractères base64.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn