English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقوم Java String getBytes() بت编码 النص كسلسلة من الأحرف ويحفظها في مصفوفة من الأحرف.
قواعد نحوية لـ String getBytes()
string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)
ي返回 طريقة 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().
هذه هي بعض الطرق الأخرى المتاحة في 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
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 لطباعة مصفوفة الحروف بشكل واضح.
يمكن أيضًا استخدام نص لتحديد نوع الترميز لـ getBytes(). عند استخدام getBytes() بهذه الطريقة، يجب وضع الكود داخلفي كتلة try ... catch。
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().