Java karakterlánc getBytes ()

A Java String getBytes () metódus a sztringet bájtsorozatba kódolja és egy bájt tömbben tárolja.

A String getBytes()metódus szintaxisa a következő:

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

Itt a karakterlánc az Stringosztály objektuma .

A getBytes()módszer egy bájt tömböt ad vissza.

1. getBytes () paraméterek nélkül

Ha nem ad át egyetlen paramétert sem, getBytes()kódolja a karakterláncot a platform alapértelmezett karakterkészletével.

Példa: getBytes () paraméterek nélkül

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

Kimenet

 (74, 97, 118, 97)

Megjegyzés: A Arraysfenti példában szereplő osztályt arra használtuk, hogy a bájt tömböt olvasható formában nyomtassa ki. Ennek semmi köze getBytes().

2. getBytes () CharSet paraméterrel

Ezek CharSeta Java-ban elérhetőek:

  • UTF-8 - Nyolc bites UCS transzformációs formátum
  • UTF-16 - Tizenhat bites UCS transzformációs formátum
  • UTF-16BE - Tizenhat bites UCS transzformációs formátum, nagy endián bájtsorrend
  • UTF-16LE - Tizenhat bites UCS transzformációs formátum, kis endián bájtsorrend
  • US-ASCII - Hétbites ASCII
  • ISO-8859-1 - ISO latin ábécé 1. sz

Példa: getBytes () CharSet paraméterrel

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

Kimenet

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

Megjegyzés: A fenti programban java.nio.charset.Charsetfelhasználásra importáltunk CharSet. Importáltuk az Arraysosztályt, hogy olvasható formában kinyomtassuk a bájt tömböt.

3. getBytes () karakterlánc-paraméterrel

A kódolási típust getBytes()karakterláncok használatával is megadhatja . Ha getBytes()ilyen módon használja , be kell csomagolnia a kódot a try… catch blokkba.

Példa: getBytes () karakterlánc-paraméterrel

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

Kimenet

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: Az UTF-34 kódolása hibás

Megjegyzés: Importáltuk a java.util.Arrays-t, hogy a bájt tömböt olvasható formában kinyomtassuk. Ennek semmi köze getBytes().

érdekes cikkek...