English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمات Java الأساسية

تحكم في العملية Java

مجموعات Java Array

Java توجيه الأشياء (I)

Java توجيه الأشياء (II)

Java توجيه الأشياء (III)

معالجة الاستثنائات Java

قائمة Java List

Java Queue (الطوابير)

مجموعات Java Map

مجموعات Java Set

تدفق الدخول والخروج (I/O) في Java

قراءات/كتابة Java

مواضيع أخرى في Java

استخدام وثائق Java String getBytes() ومثال

Java String (Strings) Methods

يقوم Java String getBytes() بت编码 النص كسلسلة من الأحرف ويحفظها في مصفوفة من الأحرف.

قواعد نحوية لـ String getBytes()

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

ي返回 طريقة getBytes() مصفوفة حروف.

1. استخدام getBytes() بدون أي معلمات

إذا لم يتم تمرير أي معلمات، يستخدم getBytes() رمزية النظام الأساسي للترميز النص.

مثال: استخدام getBytes() بدون أي معلمات

import java.util.Arrays;
class Main {
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //تحويل النص إلى مصفوفة حروف
    //استخدام رمزية النظام الأساسي
    byteArray = str.getBytes();
    System.out.println(Arrays.toString(byteArray));
  }
}

Output Result

[74, 97, 118, 97]

Note:في المثال المذكور أعلاه، قمنا بطباعة مصفوفة الحروف بشكل واضح باستخدام صنف Arrays. وهو لا يتعلق بgetBytes().

2. استخدام CharSet في getBytes()

هذه هي بعض الطرق الأخرى المتاحة في CharSetJava:

  • UTF-8 - 8-bit UCS Transformation Format

  • UTF-16 - 16-bit UCS Transformation Format

  • UTF-16BE - 16-bit UCS Transformation Format, big-endian byte order

  • UTF-16LE - 16-bit UCS Transformation Format, little-endian byte order

  • US-ASCII - 7-bit ASCII

  • ISO-8859-1 - ISO Latin Alphabet No. 1

مثال: استخدام CharSet في getBytes()

import java.util.Arrays;
import java.nio.charset.Charset;
class Main {
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //استخدام UTF-8 للترميز
    byteArray = str.getBytes(Charset.forName("UTF-8"));
    System.out.println(Arrays.toString(byteArray));
    //استخدام UTF-16 للترميز
    byteArray = str.getBytes(Charset.forName("UTF-16"));
    System.out.println(Arrays.toString(byteArray));
  }
}

Output Result

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]

Note:في البرنامج المذكور أعلاه، قمنا بجلب java.nio.charset.Charset لاستخدام Charset. وقد قمنا أيضًا بجلب صنف Arrays لطباعة مصفوفة الحروف بشكل واضح.

3. استخدام getBytes() مع نص

يمكن أيضًا استخدام نص لتحديد نوع الترميز لـ getBytes(). عند استخدام getBytes() بهذه الطريقة، يجب وضع الكود داخلفي كتلة try ... catch

مثال: استخدام getBytes() مع متغير نصي

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));
            //Incorrect encoding
            //Throw exception
      byteArray = str.getBytes("UTF-16");
      System.out.println(Arrays.toString(byteArray));
    } catch (Exception e) {
      System.out.println(e + " encoding is wrong");
    }
  }
}

Output Result

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]
java.io.UnsupportedEncodingException: UTF-34 encoding is wrong

Note:We have imported java.util.Arrays to print the byte array in a readable format. It has nothing to do with getBytes().

Java String (Strings) Methods