Java String getBytes () metode kodē virkni baitu secībā un saglabā to baitu masīvā.
String getBytes()
metodes sintakse ir:
string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)
Šeit virkne ir String
klases objekts .
getBytes()
Metode atgriež baitu masīvu.
1. getBytes () bez parametriem
Ja jūs neizturat nevienu parametru, getBytes()
kodējiet virkni, izmantojot platformas noklusējuma simbolu kopu.
Piemērs: getBytes () bez parametriem
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)); ) )
Rezultāts
(74, 97, 118, 97)
Piezīme:Arrays
Iepriekšējā piemērā mēs izmantojām klasi, lai drukātu baitu masīvu lasāmā formā. Tam nav nekāda sakara getBytes(
).
2. getBytes () ar CharSet parametru
Šeit ir dažādi CharSet
pieejami java:
- UTF-8 - astoņu bitu UCS pārveidošanas formāts
- UTF-16 - sešpadsmit bitu UCS pārveidošanas formāts
- UTF-16BE - sešpadsmit bitu UCS transformācijas formāts, lielo endiātu baitu secība
- UTF-16LE - sešpadsmit bitu UCS transformācijas formāts, maza endiāta baitu secība
- ASV-ASCII - septiņu bitu ASCII
- ISO-8859-1 - ISO latīņu alfabēts Nr. 1
Piemērs: getBytes () ar 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)); ) )
Rezultāts
(74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97)
Piezīme. Iepriekš minētajā programmā mēs esam importējuši java.nio.charset.Charset
lietošanai CharSet
. Mēs esam importējuši Arrays
klasi, lai drukātu baitu masīvu lasāmā formā.
3. getBytes () ar virknes parametru
Jūs varat arī norādīt kodēšanas veidu, getBytes()
izmantojot virknes. Kad izmantojat getBytes()
šādā veidā, kods jāiesaiņo mēģinājuma… ķeršanas blokā.
Piemērs: getBytes () ar virknes 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"); ) ) )
Rezultāts
(74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: UTF-34 kodēšana ir nepareiza
Piezīme. Mēs esam importējuši java.util.Arrays, lai drukātu baitu masīvu lasāmā formā. Tam nav nekāda sakara getBytes()
.