Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java 8 - Base64

Met Java 8 komt Base64 eindelijk tot zijn recht. Java 8 heeft nu een ingebouwde encoder en decoder voor Base64-codering. In Java 8 kunnen we drie soorten Base64-codering gebruiken.

  • Eenvoudig − De uitvoer wordt toegewezen aan een set tekens die in A-Za-z0-9+/ liggen. De encoder voegt geen regelinvoer toe aan de uitvoer en de decoder verwerpt elk ander teken dan A-Za-z0-9+/.

  • URL − De uitvoer wordt toegewezen aan een reeks tekens die in A-Za-z0-9+_ liggen. Uitvoer is veilig voor URL en bestandsnaam.

  • MIME − De uitvoer is toegewezen aan een MIME-vriendelijk formaat. De uitvoer wordt weergegeven in regels van niet meer dan 76 tekens en gebruikt een regelterugloop '\r' gevolgd door een regelinvoer '\n' als regelscheidingsteken. Er is geen lijnscheidingsteken aanwezig aan het einde van de gecodeerde uitvoer.

Geneste klassen

Sr.nr. Geneste klasse en beschrijving
1

statische klasse Base64.Decoder

Deze klasse implementeert een decoder voor het decoderen van bytegegevens met behulp van het Base64-coderingsschema zoals gespecificeerd in RFC 4648 en RFC 2045.

2

statische klasse Base64.Encoder

Deze klasse implementeert een encoder voor het coderen van bytegegevens met behulp van het Base64-coderingsschema zoals gespecificeerd in RFC 4648 en RFC 2045.

Methoden

Sr.nr. Methodenaam en beschrijving
1

statische Base64.Decoder getDecoder()

Retourneert een Base64.Decoder die decodeert met behulp van het basis64-coderingsschema van het basistype.

2

statische Base64.Encoder getEncoder()

Retourneert een Base64.Encoder die codeert met behulp van het basis64-coderingsschema van het type Basic.

3

statische Base64.Decoder getMimeDecoder()

Retourneert een Base64.Decoder die decodeert met behulp van het MIME-type base64-decoderingsschema.

4

statische Base64.Encoder getMimeEncoder()

Retourneert een Base64.Encoder die codeert met behulp van het MIME-type base64-coderingsschema.

5

statische Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator)

Retourneert een Base64.Encoder die codeert met behulp van het MIME-type base64-coderingsschema met opgegeven regellengte en regelscheidingstekens.

6

statische Base64.Decoder getUrlDecoder()

Retourneert een Base64.Decoder die decodeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam.

7

statische Base64.Encoder getUrlEncoder()

Retourneert een Base64.Encoder die codeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam.

Overerfde methoden

Deze klasse erft methoden van de volgende klasse −

  • java.lang.Object

Base64-voorbeeld

Maak het volgende Java-programma met een editor naar keuze, bijvoorbeeld C:/> JAVA.

Java8Tester.java

Live demo
import java.util.Base64;
import java.util.UUID;
import java.io.UnsupportedEncodingException;

public class HelloWorld {

   public static void main(String args[]) {

      try {
		
         // Encode using basic encoder
         String base64encodedString = Base64.getEncoder().encodeToString(
            "TutorialsPoint?java8".getBytes("utf-8"));
         System.out.println("Base64 Encoded String (Basic) :" + base64encodedString);
		
         // Decode
         byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
		
         System.out.println("Original String: " + new String(base64decodedBytes, "utf-8"));
         base64encodedString = Base64.getUrlEncoder().encodeToString(
            "TutorialsPoint?java8".getBytes("utf-8"));
         System.out.println("Base64 Encoded String (URL) :" + base64encodedString);
		
         StringBuilder stringBuilder = new StringBuilder();
		
         for (int i = 0; i < 10; ++i) {
            stringBuilder.append(UUID.randomUUID().toString());
         }
		
         byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8");
         String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes);
         System.out.println("Base64 Encoded String (MIME) :" + mimeEncodedString);

      } catch(UnsupportedEncodingException e) {
         System.out.println("Error :" + e.getMessage());
      }
   }
}

Verifieer het resultaat

Stel de klas samen met javac compiler als volgt −

C:\JAVA>javac Java8Tester.java

Voer nu de Java8Tester als volgt uit −

C:\JAVA>java Java8Tester

Het zou de volgende output moeten produceren −

Base64 Encoded String (Basic) :VHV0b3JpYWxzUG9pbnQ/amF2YTg=
Original String: TutorialsPoint?java8
Base64 Encoded String (URL) :VHV0b3JpYWxzUG9pbnQ_amF2YTg=
Base64 Encoded String (MIME) :YmU3NWY2ODktNGM5YS00ODlmLWI2MTUtZTVkOTk2YzQ1Njk1Y2EwZTg2OTEtMmRiZC00YTQ1LWJl
NTctMTI1MWUwMTk0ZWQyNDE0NDAwYjgtYTYxOS00NDY5LTllYTctNjc1YzE3YWJhZTk1MTQ2MDQz
NDItOTAyOC00ZWI0LThlOTYtZWU5YzcwNWQyYzVhMTQxMWRjYTMtY2MwNi00MzU0LTg0MTgtNGQ1
MDkwYjdiMzg2ZTY0OWU5MmUtZmNkYS00YWEwLTg0MjQtYThiOTQxNDQ2YzhhNTVhYWExZjItNjU2
Mi00YmM4LTk2ZGYtMDE4YmY5ZDZhMjkwMzM3MWUzNDMtMmQ3MS00MDczLWI0Y2UtMTQxODE0MGU5
YjdmYTVlODUxYzItN2NmOS00N2UyLWIyODQtMThlMWVkYTY4M2Q1YjE3YTMyYmItZjllMS00MTFk
LWJiM2UtM2JhYzUxYzI5OWI4

Java

  1. Encoder
  2. Java-operators
  3. Java-opmerkingen
  4. Java voor elke lus
  5. Java-strings
  6. Java-interface
  7. Java anonieme klasse
  8. Java proberen-met-bronnen
  9. Java-annotaties
  10. Java-beweringen
  11. Java-vector