„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.Charset
naudoti CharSet
. Importavome Arrays
klasę, 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()
.