logo

Java Base64 coderen en decoderen

Java biedt een klasse Base64 om met encryptie om te gaan. U kunt uw gegevens coderen en decoderen met behulp van de aangeboden methoden. U moet java.util.Base64 in uw bronbestand importeren om de methoden ervan te kunnen gebruiken.

Deze klasse biedt drie verschillende encoders en decoders om informatie op elk niveau te coderen. U kunt deze methoden op de volgende niveaus gebruiken.


Basiscodering en decodering

Het gebruikt het Base64-alfabet gespecificeerd door Java in RFC 4648 en RFC 2045 voor coderings- en decoderingsbewerkingen. De encoder voegt geen regelscheidingsteken toe. De decoder weigert gegevens die tekens bevatten die buiten het base64-alfabet vallen.


URL- en bestandsnaamcodering en decodering

Het gebruikt het Base64-alfabet gespecificeerd door Java in RFC 4648 voor coderings- en decoderingsbewerkingen. De encoder voegt geen regelscheidingsteken toe. De decoder weigert gegevens die tekens bevatten die buiten het base64-alfabet vallen.


MIME

Het gebruikt het Base64-alfabet zoals gespecificeerd in RFC 2045 voor coderings- en decoderingsbewerkingen. De gecodeerde uitvoer moet worden weergegeven in regels van elk niet meer dan 76 tekens en gebruikt een regelterugloop ' ', onmiddellijk gevolgd door een regelinvoer ' ' als regelscheidingsteken. Er wordt geen regelscheidingsteken toegevoegd aan het einde van de gecodeerde uitvoer. Alle regelscheidingstekens of andere tekens die niet in de base64-alfabettabel voorkomen, worden tijdens de decodering genegeerd.


Geneste klassen van Base64

Klas Beschrijving
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.
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.

Base64-methoden

Methoden Beschrijving
openbare statische Base64.Decoder getDecoder() Het retourneert een Base64.Decoder die decodeert met behulp van het basistype base64-coderingsschema.
openbare statische Base64.Encoder getEncoder() Het retourneert een Base64.Encoder die codeert met behulp van het basistype base64-coderingsschema.
openbare statische Base64.Decoder getUrlDecoder() Het retourneert een Base64.Decoder die decodeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam.
openbare statische Base64.Decoder getMimeDecoder() Het retourneert een Base64.Decoder die decodeert met behulp van het base64-decoderingsschema van het MIME-type.
openbare statische Base64.Encoder getMimeEncoder() Het retourneert een Base64.Encoder die codeert met behulp van het base64-coderingsschema van het MIME-type.
openbare statische Base64.Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) Het retourneert een Base64.Encoder die codeert met behulp van het MIME-type base64-coderingsschema met gespecificeerde lijnlengte en lijnscheidingstekens.
openbare statische Base64.Encoder getUrlEncoder() Het retourneert een Base64.Encoder die codeert met behulp van het veilige base64-coderingsschema voor URL en bestandsnaam.

Base64.Decoder-methoden

Methoden Beschrijving
openbare byte[] decoderen(byte[] src) Het decodeert alle bytes van de invoerbyte-array met behulp van het Base64-coderingsschema, en schrijft de resultaten naar een nieuw toegewezen uitvoerbyte-array. De geretourneerde byte-array heeft de lengte van de resulterende bytes.
openbare byte[] decoderen (String src) Het decodeert een met Base64 gecodeerde string in een nieuw toegewezen byte-array met behulp van het Base64-coderingsschema.
publieke int-decode(byte[] src, byte[] dst) Het decodeert alle bytes van de invoerbyte-array met behulp van het Base64-coderingsschema, en schrijft de resultaten naar de gegeven uitvoerbyte-array, beginnend bij offset 0.
openbare ByteBuffer-decodering (ByteBuffer-buffer) Het decodeert alle bytes uit de invoerbytebuffer met behulp van het Base64-coderingsschema, en schrijft de resultaten naar een nieuw toegewezen ByteBuffer.
openbare InputStream-wrap (InputStream is) Het retourneert een invoerstroom voor het decoderen van de Base64-gecodeerde bytestroom.

Base64.Encoder-methoden

Methoden Beschrijving
openbare byte[] coderen(byte[] src) Het codeert alle bytes van de opgegeven byte-array naar een nieuw toegewezen byte-array met behulp van het Base64-coderingsschema. De geretourneerde byte-array heeft de lengte van de resulterende bytes.
publieke int-codering (byte[] src, byte[] dst) Het codeert alle bytes uit de opgegeven byte-array met behulp van het Base64-coderingsschema, waarbij de resulterende bytes naar de gegeven uitvoerbyte-array worden geschreven, beginnend bij offset 0.
openbare tekenreeks encodeToString(byte[] src) Het codeert de opgegeven byte-array in een String met behulp van het Base64-coderingsschema.
openbare ByteBuffer-codering (ByteBuffer-buffer) Het codeert alle resterende bytes uit de opgegeven bytebuffer naar een nieuw toegewezen ByteBuffer met behulp van het Base64-coderingsschema. Bij terugkeer wordt de positie van de bronbuffer bijgewerkt tot aan de limiet; de limiet zal niet zijn gewijzigd. De positie van de geretourneerde uitvoerbuffer is nul en de limiet ervan is het aantal resulterende gecodeerde bytes.
openbare OutputStream wrap (OutputStream os) Het bevat een uitvoerstroom voor het coderen van bytegegevens met behulp van het Base64-coderingsschema.
openbare Base64.Encoder zonderPadding() Het retourneert een encoderinstantie die gelijkwaardig codeert als deze, maar zonder een opvulteken toe te voegen aan het einde van de gecodeerde bytegegevens.

Java Base64-voorbeeld: basiscodering en decodering

 import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getEncoder(); // Creating byte array bytebyteArr[] = {1,2}; // encoding byte array bytebyteArr2[] = encoder.encode(byteArr); System.out.println('Encoded byte array: '+byteArr2); bytebyteArr3[] = newbyte[5]; // Make sure it has enough size to store copied bytes intx = encoder.encode(byteArr,byteArr3); // Returns number of bytes written System.out.println('Encoded byte array written to another array: '+byteArr3); System.out.println('Number of bytes written: '+x); // Encoding string String str = encoder.encodeToString('JavaTpoint'.getBytes()); System.out.println('Encoded string: '+str); // Getting decoder Base64.Decoder decoder = Base64.getDecoder(); // Decoding string String dStr = new String(decoder.decode(str)); System.out.println('Decoded string: '+dStr); } } 

Uitgang:

 Encoded byte array: [B@6bc7c054 Encoded byte array written to another array: [B@232204a1 Number of bytes written: 4 Encoded string: SmF2YVRwb2ludA== Decoded string: JavaTpoint 

Java Base64 Voorbeeld: URL-codering en decodering

 import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting encoder Base64.Encoder encoder = Base64.getUrlEncoder(); // Encoding URL String eStr = encoder.encodeToString('http://www.javatpoint.com/java-tutorial/'.getBytes()); System.out.println('Encoded URL: '+eStr); // Getting decoder Base64.Decoder decoder = Base64.getUrlDecoder(); // Decoding URl String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded URL: '+dStr); } } 

Uitgang:

 Encoded URL: aHR0cDovL3d3dy5qYXZhdHBvaW50LmNvbS9qYXZhLXR1dG9yaWFsLw== Decoded URL: http://www.javatpoint.com/java-tutorial/ 

Java Base64 Voorbeeld: MIME-codering en decodering

 package Base64Encryption; import java.util.Base64; publicclass Base64BasicEncryptionExample { publicstaticvoid main(String[] args) { // Getting MIME encoder Base64.Encoder encoder = Base64.getMimeEncoder(); String message = 'Hello, 
You are informed regarding your inconsistency of work'; String eStr = encoder.encodeToString(message.getBytes()); System.out.println('Encoded MIME message: '+eStr); // Getting MIME decoder Base64.Decoder decoder = Base64.getMimeDecoder(); // Decoding MIME encoded message String dStr = new String(decoder.decode(eStr)); System.out.println('Decoded message: '+dStr); } } 

Uitgang:

 Encoded MIME message: SGVsbG8sIApZb3UgYXJlIGluZm9ybWVkIHJlZ2FyZGluZyB5b3VyIGluY29uc2lzdGVuY3kgb2Yg d29yaw== Decoded message: Hello, You are informed regarding your inconsistency of work