Java String getBytes ()

Metóda Java String getBytes () kóduje reťazec do postupnosti bajtov a ukladá ho do bajtového poľa.

Syntax getBytes()metódy String sú:

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

Reťazec je tu predmetom Stringtriedy.

getBytes()Metóda vracia bajtové pole.

1. getBytes () bez akýchkoľvek parametrov

Ak nezadáte žiadne parametre, getBytes()zakóduje reťazec pomocou predvolenej znakovej sady platformy.

Príklad: getBytes () bez akýchkoľvek 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)); ) )

Výkon

 (74, 97, 118, 97)

Poznámka:Arrays Triedu vo vyššie uvedenom príklade sme použili na tlač bajtového poľa v čitateľnej podobe. Nemá to nič spoločné getBytes().

2. getBytes () S parametrom CharSet

Tu sú rôzne CharSetdostupné v jave:

  • UTF-8 - Osembitový formát transformácie UCS
  • UTF-16 - šestnásťbitový formát transformácie UCS
  • UTF-16BE - šestnásťbitový formát transformácie UCS, poradie bajtov big-endian
  • UTF-16LE - Šestnásťbitový formát transformácie UCS, objednávka bajtov typu endian
  • US-ASCII - sedembitový ASCII
  • ISO-8859-1 - ISO latinská abeceda č. 1

Príklad: 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)); ) )

Výkon

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

Poznámka: Vo vyššie uvedenom programe sme importovali java.nio.charset.Charsetpoužitie CharSet. A sme importovali Arraystriedu na tlač bajtového poľa v čitateľnej podobe.

3. getBytes () S reťazcovým parametrom

Môžete tiež určiť typ kódovania getBytes()pomocou reťazcov. Ak použijete getBytes()tento spôsob, musíte zabaliť kód dovnútra try … catch block.

Príklad: getBytes () S reťazcovým 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"); ) ) )

Výkon

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: kódovanie UTF-34 je nesprávne

Poznámka: Importovali sme súbory java.util.Arra na tlač bajtového poľa v čitateľnej podobe. Nemá to nič spoločné getBytes().

Zaujímavé články...