Java-merkkijono getBytes ()

Java String getBytes () -menetelmä koodaa merkkijonon tavusarjaksi ja tallentaa sen tavutaulukkoon.

String- getBytes()menetelmän syntaksia ovat:

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

Tässä merkkijono on Stringluokan objekti .

getBytes()Menetelmä palauttaa tavutaulukkoa.

1. getBytes () ilman parametreja

Jos et välitä mitään parametreja, getBytes()koodaa merkkijono alustan oletusmerkkijoukolla.

Esimerkki: getBytes () ilman parametreja

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

Tuotos

 (74, 97, 118, 97)

Huomaa: Olemme käyttäneet edellisen Arraysesimerkin luokkaa tulostaaksesi tavutaulukon luettavassa muodossa. Sillä ei ole mitään tekemistä sen kanssa getBytes().

2. getBytes () CharSet-parametrilla

Tässä on erilaisia CharSetjava-versioita:

  • UTF-8 - Kahdeksanbittinen UCS-muunnosmuoto
  • UTF-16 - 16-bittinen UCS-muunnosmuoto
  • UTF-16BE - 16-bittinen UCS -muunnosmuoto , suurten endien tavujärjestys
  • UTF-16LE - 16-bittinen UCS -muunnosmuoto , pienen endian tavujärjestys
  • US-ASCII - Seitsemän bittinen ASCII
  • ISO-8859-1 - ISO-latinalaiset aakkoset nro 1

Esimerkki: getBytes () CharSet-parametrilla

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

Tuotos

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

Huomaa: Edellä olevassa ohjelmassa olemme tuoneet java.nio.charset.Charsetkäyttöön CharSet. Ja olemme tuoneet Arraysluokan tulostaaksesi tavutaulukon luettavassa muodossa.

3. getBytes () merkkijonoparametrilla

Voit määrittää koodaustyypin myös getBytes()merkkijonojen avulla. Kun käytät getBytes()tällä tavalla, sinun on käärittävä koodi try … catch blockiin.

Esimerkki: getBytes () merkkijonoparametrilla

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

Tuotos

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: UTF-34-koodaus on väärä

Huomaa: Olemme tuoneet java.util.Arrays -tulostimen tulostaaksesi luettavassa muodossa. Sillä ei ole mitään tekemistä sen kanssa getBytes().

Mielenkiintoisia artikkeleita...