DevToys Web Pro iconDevToys Web Proالمدونة
قيّمنا:
جرّب إضافة المتصفح:

ترميز/فك ترميز CBOR / MessagePack

التنسيق:
الاتجاه:
الإخراج:

إدخال JSON

  • إخراج سداسي عشري

  • التفاصيل التقنية

    كيف يعمل محوّل CBOR وMessagePack

    ما الذي تفعله الأداة

    تقوم هذه الأداة بترميز بيانات JSON إلى صيغ CBOR (Concise Binary Object Representation) أو MessagePack الثنائية، وفك ترميز الحمولات الثنائية مرة أخرى إلى JSON قابل للقراءة البشرية. كما تعرض بايتات الهيكس الخام إلى جانب البنية المفككة، مما يسهل فحص الترميزات الثنائية المدمجة المستخدمة في البيئات محدودة الموارد. يدعم الاتجاهان في الترميز الكائنات المتداخلة والمصفوفات وأنواع JSON القياسية.

    حالات استخدام شائعة للمطورين

    يستخدم مطورو إنترنت الأشياء هذه الأداة لفحص حمولات CBOR من رسائل CoAP أو الرموز الموقعة بـ COSE دون كتابة شيفرة لفك التسلسل. ويقوم مهندسو الخلفية بتصحيح إطارات WebSocket المرمّزة بـ MessagePack أو مخازن بروتوكول Redis أو حمولات RPC عبر لصق تفريغات الهيكس وعرض JSON المفكك. كما أنها مفيدة لمقارنة أحجام الحمولات بين JSON وCBOR وMessagePack لاختيار أكثر تنسيق نقل كفاءة للأنظمة المقيّدة بعرض النطاق.

    تنسيقات البيانات أو أنواعها أو متغيراتها

    يُعد CBOR (RFC 8949) تنسيقًا ثنائيًا ذاتي الوصف صُمّم لتقليل حجم الشيفرة وحجم الرسالة، وهو معتمد على نطاق واسع في معايير إنترنت الأشياء مثل LwM2M وFIDO2/WebAuthn. أما MessagePack فهو تسلسل ثنائي مشابه يهدف إلى أن يكون مدمجًا قدر الإمكان مع بقائه بلا مخطط (schema-free)، ويُستخدم عادةً بواسطة Redis وFluentd والعديد من أطر RPC. كلا التنسيقين أكثر دمجًا من JSON لكنه يضحي بقابلية القراءة البشرية مقابل الكفاءة.

    المزالق الشائعة والحالات الطرفية

    يدعم CBOR أنواع بيانات لا يستطيع JSON تمثيلها أصلاً، مثل سلاسل البايتات والوسوم والحاويات ذات الطول غير المحدد — وتمرير هذه ذهابًا وإيابًا عبر JSON سيؤدي إلى فقدان معلومات النوع. يميّز MessagePack بين البايتات الخام وسلاسل UTF-8، بينما يدمجهما JSON في نوع سلسلة واحد. قد تختلف دقة الأعداد الصحيحة: يدعم كلا التنسيقين أعدادًا صحيحة بطول اعتباطي، لكن فك الترميز إلى JavaScript قد يفقد الدقة بعد Number.MAX_SAFE_INTEGER.

    متى تستخدم هذه الأداة بدلًا من الكود

    استخدم أداة المتصفح هذه للفحص السريع والآني للحمولات الثنائية الملتقطة من حركة الشبكة، أو لتصحيح رسائل أجهزة إنترنت الأشياء، أو لمقارنة أحجام الترميز بسرعة. أما للتسلسل في بيئات الإنتاج ضمن شيفرة التطبيق، فاستخدم مكتبات مخصصة مثل cbor2 (Python) وcbor-x (Node.js) أو msgpack للغتك، إذ تتعامل مع البث (streaming) والتحقق من المخطط (schema validation) والمواءمة الصحيحة للأنواع، وهي أمور لا تستطيع أداة المتصفح توفيرها.