Maison  >  Article  >  Java  >  Comment encoder et décoder à l'aide des fonctions Base64 en Java

Comment encoder et décoder à l'aide des fonctions Base64 en Java

WBOY
WBOYoriginal
2023-06-26 14:24:583170parcourir

En programmation Java, il est souvent nécessaire de convertir les données binaires au format texte pour la transmission, et le codage Base64 est une méthode de conversion couramment utilisée.

Base64 convertit trois octets de données en quatre octets de données texte. Les données texte sont composées de 64 caractères et peuvent donc être transmises dans des protocoles tels que les e-mails et les messages de requête HTTP. Java fournit des API d'encodage et de décodage Base64, afin que nous puissions facilement convertir les données.

Cet article expliquera comment utiliser Base64 pour encoder et décoder des données en Java.

1. Utilisez la méthode Base64 fournie par Java8 et supérieur

Java8 et supérieur fournissent la classe Base64, et nous pouvons directement utiliser les méthodes qu'elle fournit pour les opérations d'encodage et de décodage.

  1. Encodage Base64

L'encodage Base64 est le processus de conversion de données binaires sous forme de texte. Java fournit des API pour implémenter facilement le processus d'encodage Base64.

String str = "Java Base64编码解码";
byte[] data = str.getBytes("UTF-8");
String result = Base64.getEncoder().encodeToString(data);
System.out.println(result);

Le résultat de sortie est : SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==

La méthode getBytes() est utilisée pour obtenir le tableau d'octets correspondant à la chaîne, et la méthode Base64.getEncoder().encodeToString() est utilisée pour implémenter l'opération d'encodage et convertissez le tableau d'octets en chaîne A au format codé Base64.

  1. Décodage Base64

correspond à l'encodage. Le décodage est le processus de conversion d'une chaîne au format Base64 en données binaires. De même, Java fournit une API pour implémenter facilement le processus de décodage Base64.

String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
byte[] data = Base64.getDecoder().decode(text);
String result = new String(data, "UTF-8");
System.out.println(result);

Le résultat de sortie est : Encodage et décodage Java Base64

Parmi eux, la méthode Base64.getDecoder().decode() peut décoder la chaîne au format Base64 en un tableau d'octets, et la nouvelle méthode String() convertit l'octet tableau en chaîne.

2. Utilisez Apache Commons Codec pour implémenter l'encodage et le décodage Base64

La bibliothèque Apache Commons Codec est un projet open source sous Apache. Elle fournit des API d'encodage/décodage en plus de Base64, elle comprend également Hex, URL, Soundex. et d'autres méthodes d'encodage. Ici, nous présentons uniquement comment utiliser la bibliothèque Commons Codec pour l'encodage et le décodage Base64.

  1. Encodage Base64
String str = "Java Base64编码解码";
byte[] data = str.getBytes("UTF-8");
String result = org.apache.commons.codec.binary.Base64.encodeBase64String(data);
System.out.println(result);

Le résultat de sortie est le même que ci-dessus.

Ici, nous appelons la méthode encodeBase64String() dans la classe org.apache.commons.codec.binary.Base64 pour implémenter l'encodage Base64. Cette méthode convertira le tableau d'octets en une chaîne au format Base64.

  1. Décodage Base64
String text = "SmF2YSBCYXNlNjQgY29tbWl0IGplZmFjdGlvbg==";
byte[] data = org.apache.commons.codec.binary.Base64.decodeBase64(text);
String result = new String(data, "UTF-8");
System.out.println(result);

Le résultat de sortie est le même que ci-dessus.

Ici, nous appelons la méthode decodeBase64() dans la classe org.apache.commons.codec.binary.Base64 pour implémenter le décodage Base64. La méthode decodeBase64() convertit une chaîne au format Base64 en un tableau d'octets.

Résumé :

Que vous utilisiez la classe Base64 fournie par Java8 ou la bibliothèque Apache Commons Codec, vous pouvez facilement effectuer l'encodage et le décodage Base64. La méthode à utiliser dépend de la situation spécifique. Dans la programmation réelle, nous devons choisir la méthode à utiliser en fonction de nos besoins.

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