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 String
luokan 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 Arrays
esimerkin luokkaa tulostaaksesi tavutaulukon luettavassa muodossa. Sillä ei ole mitään tekemistä sen kanssa getBytes(
).
2. getBytes () CharSet-parametrilla
Tässä on erilaisia CharSet
java-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.Charset
käyttöön CharSet
. Ja olemme tuoneet Arrays
luokan 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()
.