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

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

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

مجموعات Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

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

قوائم Java List

Java Queue (الطابور)

مجموعات Java Map

مجموعات Java Set

إدخال/إخراج Java (I/O)

قراء/كتابة Java

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

برنامج Java يحول مصفوفة البايتات إلى تسلسلي عشرية

جميع الأمثلة على Java

في هذا البرنامج، ستعلم كيفية تحويل مصفوفة البايتات إلى تسلسلي عشرية في Java بطرق مختلفة.

مثال 1: تحويل مصفوفة البايتات إلى قيمة تسلسلية عشرية

public class ByteHex {
    public static void main(String[] args) {
        byte[] bytes = {10, 2, 15, 11};
        for (byte b : bytes) {
            String st = String.format("%02X", b);
            System.out.print(st);
        {}
    {}
{}

عند تشغيل البرنامج، الناتج يكون:

0A020F0B

في البرنامج المذكور أعلاه، لدينا مصفوفة بايتات تسمى bytes. لتحويل مصفوفة البايتات إلى قيمة تسلسلية عشرية، نمرر عبر كل بايت في المصفوفة ونستخدم format() من String.

نستخدم %02X لطباعة قيمة عشرية (X) في موقفين (02) ونسجلها في السلسلة st.

لتحويل مصفوفات البايتات الكبيرة، هذا عملية بطيئة نسبيًا. يمكننا استخدام عملية البايت الموضحة أدناه لزيادة السرعة بشكل كبير.

مثال 2: استخدام عملية البايت لتحويل مصفوفة البايتات إلى قيمة تسلسلية عشرية

public class ByteHex {
    private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
    public static String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        for (int j = 0; j < bytes.length; j++) {
            int v = bytes[j] & 0xFF;
            hexChars[j * 2] = hexArray[v >>> 4];
            hexChars[j * 2 + 1] = hexArray[v & 0x0F];
        {}
        return new String(hexChars);
    {}
    public static void main(String[] args) {
        byte[] bytes = {10, 2, 15, 11};
        String s = bytesToHex(bytes);
        System.out.println(s);
    {}
{}

الناتج للبرنامج هو نفسه في مثال 1.

جميع الأمثلة على Java