Metode getBytes () String Java mengenkode string menjadi urutan byte dan menyimpannya dalam array byte.
Sintaks dari getBytes()
metode String adalah:
string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)
Di sini, string adalah objek String
kelas.
The getBytes()
Metode mengembalikan sebuah array byte.
1. getBytes () Tanpa Parameter Apa Pun
Jika Anda tidak meneruskan parameter apa pun, getBytes()
enkode string menggunakan charset default platform.
Contoh: getBytes () Tanpa Parameter Apa Pun
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)); ) )
Keluaran
(74, 97, 118, 97)
Catatan: Kami telah menggunakan Arrays
kelas dalam contoh di atas untuk mencetak array byte dalam bentuk yang dapat dibaca. Ini tidak ada hubungannya dengan getBytes(
).
2. getBytes () Dengan Parameter CharSet
Berikut adalah perbedaan yang CharSet
tersedia di java:
- UTF-8 - Format Transformasi UCS delapan-bit
- UTF-16 - Format Transformasi UCS enam belas bit
- UTF-16BE - Format Transformasi UCS enam belas-bit, urutan byte big-endian
- UTF-16LE - Format Transformasi UCS enam belas-bit, urutan byte little-endian
- US-ASCII - ASCII tujuh-bit
- ISO-8859-1 - ISO Latin Alphabet No.1
Contoh: getBytes () Dengan Parameter CharSet
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)); ) )
Keluaran
(74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97)
Catatan: Dalam program di atas, kami telah mengimpor java.nio.charset.Charset
untuk digunakan CharSet
. Dan, kami telah mengimpor Arrays
kelas untuk mencetak array byte dalam bentuk yang dapat dibaca.
3. getBytes () Dengan Parameter String
Anda juga dapat menentukan jenis pengkodean untuk getBytes()
menggunakan string. Ketika Anda menggunakan getBytes()
cara ini, Anda harus membungkus kode di dalam blok try… catch.
Contoh: getBytes () Dengan Parameter String
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"); ) ) )
Keluaran
(74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: encoding UTF-34 salah
Catatan: Kami telah mengimpor java.util.Arays untuk mencetak array byte dalam bentuk yang dapat dibaca. Ini tidak ada hubungannya dengan getBytes()
.