Java String getBytes ()

Metoda Java String getBytes () niz kodira v zaporedje bajtov in ga shrani v bajtno matriko.

Sintaksa getBytes()metode String je:

 string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)

Tu je niz predmet Stringrazreda.

getBytes()Metoda vrne byte array.

1. getBytes () Brez kakršnih koli parametrov

Če ne posredujete nobenega parametra, getBytes()kodira niz s privzetim naborom platforme.

Primer: getBytes () brez kakršnih koli parametrov

 import java.util.Arrays; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; // convert the string to a byte array // using platform's default charset byteArray = str.getBytes(); System.out.println(Arrays.toString(byteArray)); ) )

Izhod

 (74, 97, 118, 97)

Opomba: V Arrayszgornjem primeru smo uporabili razred za tiskanje bajtne matrike v berljivi obliki. To nima nič skupnega getBytes().

2. getBytes () s parametrom CharSet

CharSetV javi so na voljo različni :

  • UTF-8 - osem-bitna oblika pretvorbe UCS
  • UTF-16 - šestnajst-bitni format pretvorbe UCS
  • UTF-16BE - šestnajst-bitni format preoblikovanja UCS, velikanski bajtni vrstni red
  • UTF-16LE - šestnajst-bitni format pretvorbe UCS, malo-endian bajtni red
  • US-ASCII - sedembitni ASCII
  • ISO-8859-1 - ISO latinica št. 1

Primer: getBytes () s parametrom CharSet

 import java.util.Arrays; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; // using UTF-8 for encoding byteArray = str.getBytes(Charset.forName("UTF-8")); System.out.println(Arrays.toString(byteArray)); // using UTF-16 for encoding byteArray = str.getBytes(Charset.forName("UTF-16")); System.out.println(Arrays.toString(byteArray)); ) )

Izhod

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97)

Opomba: V zgornjem programu smo uvozili java.nio.charset.Charsetza uporabo CharSet. ArraysRazred smo uvozili za tiskanje bajtne matrike v berljivi obliki.

3. getBytes () s parametrom niza

Za getBytes()uporabo nizov lahko določite tudi vrsto kodiranja . Ko uporabljate getBytes()na ta način, morate kodo zaviti v poskus … catch block.

Primer: getBytes () s parametrom niza

 import java.util.Arrays; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; try ( byteArray = str.getBytes("UTF-8"); System.out.println(Arrays.toString(byteArray)); byteArray = str.getBytes("UTF-16"); System.out.println(Arrays.toString(byteArray)); // wrong encoding // throws an exception byteArray = str.getBytes("UTF-34"); System.out.println(Arrays.toString(byteArray)); ) catch (Exception e) ( System.out.println(e + " encoding is wrong"); ) ) )

Izhod

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: Kodiranje UTF-34 je napačno

Opomba: Uvozili smo java.util.Arrays za tiskanje bajtne matrike v berljivi obliki. To nima nič skupnega getBytes().

Zanimive Članki...