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 String
klase.
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 CharSet
dostupnih 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.Charset
za upotrebu CharSet
. Arrays
Klasu 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()
.