Java niz getBytes ()

Metoda Java String getBytes () kodira niz u niz bajtova i pohranjuje ga u niz bajtova.

Sintaksa String getBytes()metode je:

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

Ovdje je string objekt Stringklase.

getBytes()Metoda vraća polje bajta.

1. getBytes () bez ikakvih parametara

Ako ne proslijedite nijedan parametar, getBytes()kodira niz koristeći zadani skup znakova platforme.

Primjer: getBytes () bez ikakvih parametara

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

Izlaz

 (74, 97, 118, 97)

Napomena:Arrays Klasu u gornjem primjeru koristili smo za ispis bajt polja u čitljivom obliku. To nema nikakve veze sa getBytes().

2. getBytes () s parametrom CharSet

Evo različitih CharSetdostupnih u javi:

  • UTF-8 - Osmobitni UCS format transformacije
  • UTF-16 - Šesnaest-bitni UCS format transformacije
  • UTF-16BE - Šesnaest-bitni UCS format transformacije, redoslijed bajtova velikog enda
  • UTF-16LE - Šesnaest-bitni UCS format transformacije, malo-endian redoslijed bajtova
  • US-ASCII - Sedmobitni ASCII
  • ISO-8859-1 - ISO latinična abeceda br. 1

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

Izlaz

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

Napomena: U gornjem programu uvezli smo java.nio.charset.Charsetza upotrebu CharSet. ArraysKlasu smo uvezli za ispis bajt polja u čitljivom obliku.

3. getBytes () s parametrom niza

Također možete odrediti vrstu kodiranja za getBytes()korištenje nizova. Kada koristite getBytes()na ovaj način, morate umotati kod unutar try … catch block.

Primjer: getBytes () s nizovnim parametrom

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

Izlaz

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: UTF-34 kodiranje je pogrešno

Napomena: Uvezli smo java.util.Arrays za ispis bajt polja u čitljivom obliku. To nema nikakve veze getBytes().

Zanimljivi članci...