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().








