Java String getBytes ()

Методът Java String getBytes () кодира низа в последователност от байтове и го съхранява в масив от байтове.

Синтаксисът на метода String getBytes()са:

 string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)

Тук низът е обект на Stringкласа.

В getBytes()метод връща масив от байтове.

1. getBytes () без никакви параметри

Ако не предадете никакви параметри, getBytes()кодира низа, като използва кода по подразбиране на платформата.

Пример: getBytes () без никакви параметри

 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)); ) )

Изход

 (74, 97, 118, 97)

Забележка: Използвахме Arraysкласа в горния пример, за да отпечатаме байтовия масив в четлива форма. Няма нищо общо с getBytes().

2. getBytes () С параметър CharSet

Ето различни CharSetналични в java:

  • UTF-8 - Осембитов формат за преобразуване на UCS
  • UTF-16 - Шестнадесет битов UCS формат за преобразуване
  • UTF-16BE - Шестнадесет битов UCS формат за трансформация, голям байтов ред
  • UTF-16LE - Шестнадесет битов UCS формат за трансформация, байтов ред с малък край
  • US-ASCII - Седембитов ASCII
  • ISO-8859-1 - ISO латиница № 1

Пример: getBytes () с параметър 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)); ) )

Изход

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97)

Забележка: В горната програма импортирахме java.nio.charset.Charsetза използване CharSet. И ние импортирахме Arraysкласа, за да отпечата байтовия масив в четлива форма.

3. getBytes () С параметър String

Можете също така да посочите типа на кодиране за getBytes()използване на низове. Когато използвате getBytes()по този начин, трябва да увиете кода вътре try … catch block.

Пример: getBytes () С параметър 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"); ) ) )

Изход

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: UTF-34 кодирането е грешно

Забележка: Импортирахме java.util.Arrays, за да отпечатаме байтовия масив в четлива форма. Няма нищо общо с това getBytes().

Интересни статии...