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
Patricia Arquetteoriginal
2024-12-25 11:54:35386parcourir

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;

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));

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;

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));

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

String encodeBytes = Base64.getEncoder().encodeToString((userName + ":" + password).getBytes());

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!

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