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








