„Java“ eilutė „getBytes“ ()

„Java String getBytes“ () metodas užkoduoja eilutę į baitų seką ir saugo ją baitų masyve.

Stygos getBytes()metodo sintaksė yra:

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

Čia eilutė yra klasės objektas String.

getBytes()Metodas grąžina baitų masyvo.

1. getBytes () be jokių parametrų

Jei neperduodate jokių parametrų, getBytes()užkoduokite eilutę naudodami numatytąjį platformos simbolių rinkinį.

Pavyzdys: getBytes () be jokių parametrų

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

Rezultatas

 (74, 97, 118, 97)

Pastaba:Arrays aukščiau pateiktame pavyzdyje naudojome klasę, kad atspausdintume baitų masyvą skaitoma forma. Tai neturi nieko bendro getBytes().

2. getBytes () Su CharSet parametru

Čia yra įvairių CharSet„Java“:

  • UTF-8 - aštuonių bitų UCS transformacijos formatas
  • UTF-16 - šešiolikos bitų UCS transformacijos formatas
  • UTF-16BE - šešiolikos bitų UCS transformacijos formatas, didelio galo baitų tvarka
  • UTF-16LE - šešiolikos bitų UCS transformacijos formatas, mažo galo baitų tvarka
  • JAV ASCII - septynių bitų ASCII
  • ISO-8859-1 - ISO lotynų abėcėlė Nr. 1

Pavyzdys: getBytes () su CharSet parametru

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

Rezultatas

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

Pastaba: pirmiau pateiktoje programoje mes importavome java.nio.charset.Charsetnaudoti CharSet. Importavome Arraysklasę, kad baitų masyvas būtų išspausdintas įskaitoma forma.

3. getBytes () su eilutės parametru

Taip pat galite nurodyti kodavimo tipą getBytes()naudodami eilutes. Kai naudojate getBytes()tokiu būdu, turite įvesti kodą „try… catch block“.

Pavyzdys: getBytes () su eilutės parametru

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

Rezultatas

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io. Nepalaikoma „EncodingException“: neteisingas UTF-34 kodavimas

Pastaba: mes importavome java.util.Arrays, kad atspausdintumėte baitų masyvą skaitoma forma. Tai neturi nieko bendro getBytes().

Įdomios straipsniai...