Maison > Java > javaDidacticiel > Comment puis-je encoder et décoder efficacement des données Base64 en Java ?

Comment puis-je encoder et décoder efficacement des données Base64 en Java ?

Patricia Arquette
Libérer: 2024-12-25 11:54:35
original
332 Les gens l'ont consulté

How Can I Efficiently Encode and Decode Base64 Data in Java?

Encodage des données en Base64 en Java

Java fournit diverses méthodes pour encoder les données en Base64. Dans cette discussion, nous explorons l'approche de codage Base64 et abordons les problèmes courants rencontrés.

Classe sun.misc.BASE64Encoder

Dans Java 7, le sun.misc.BASE64Encoder La classe était couramment utilisée pour l’encodage Base64. Cependant, cette classe est obsolète depuis Java 9 et son utilisation n'est plus recommandée.

Apache Commons

Comme alternative, vous pouvez utiliser Apache Commons pour l'encodage Base64. . Cependant, assurez-vous de modifier l'instruction d'importation par :

import org.apache.commons.codec.binary.Base64;
Copier après la connexion

De plus, utilisez la classe Base64 au lieu des packages sun.* obsolètes.

Exemple de code

Voici un exemple d'extrait de code utilisant Apache Commons :

byte[] encodedBytes = Base64.encodeBase64("Test".getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
byte[] decodedBytes = Base64.decodeBase64(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));
Copier après la connexion

java.util.Base64 avec Java 8

Java 8 introduit la classe java.util.Base64 pour l'encodage Base64. Importez-le comme suit :

import java.util.Base64;
Copier après la connexion

Utilisez les méthodes statiques Base64 pour l'encodage et le décodage :

byte[] encodedBytes = Base64.getEncoder().encode("Test".getBytes());
System.out.println("encodedBytes " + new String(encodedBytes));
byte[] decodedBytes = Base64.getDecoder().decode(encodedBytes);
System.out.println("decodedBytes " + new String(decodedBytes));
Copier après la connexion

Pour l'encodage et le décodage de chaînes, vous pouvez utiliser :

String encodeBytes = Base64.getEncoder().encodeToString((userName + ":" + password).getBytes());
Copier après la connexion

Consultez la documentation Java pour Base64 pour plus de détails.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal