وأوضح Node.js العازلة

ما هي المخازن المؤقتة؟

الثنائي هو ببساطة مجموعة أو مجموعة من 1و 0. كل رقم في ثنائي ، كل 1 و 0 في مجموعة تسمى بت . يقوم الكمبيوتر بتحويل البيانات إلى هذا التنسيق الثنائي لتخزين وتنفيذ العمليات. على سبيل المثال ، فيما يلي خمسة ثنائيات مختلفة:

10, 01, 001, 1110, 00101011

لا تحتوي JavaScript على بيانات نوع بايت في واجهة برمجة التطبيقات الأساسية الخاصة بها. للتعامل مع البيانات الثنائية ، يتضمن Node.js تنفيذًا لمخزن مؤقت ثنائي مع وحدة نمطية عامة تسمى Buffer.

إنشاء عازلة

هناك طرق مختلفة يمكنك من خلالها إنشاء مخزن مؤقت في Node.js. يمكنك إنشاء مخزن مؤقت فارغ بحجم 10 بايت.

const buf1 = Buffer.alloc(10);

من السلاسل المشفرة UTF-8 ، يكون الإنشاء كالتالي:

const buf2 = Buffer.from('Hello World!');

هناك ترميز مختلف مقبول عند إنشاء مخزن مؤقت:

  • أسكي
  • UTF-8
  • قاعدة 64:
  • لاتينية 1
  • الثنائية
  • عرافة

هناك ثلاث وظائف منفصلة مخصصة في Buffer API لاستخدام وإنشاء مخازن مؤقتة جديدة. في الأمثلة أعلاه رأينا alloc()و from(). الثالث هو allocUnsafe().

const buf3 = Buffer.allocUnsafe(10);

عند إرجاع هذه الوظيفة ، قد تحتوي على بيانات قديمة تحتاج إلى الكتابة فوقها.

التفاعلات مع العازلة

هناك تفاعلات مختلفة يمكن إجراؤها باستخدام Buffer API. سنقوم بتغطية معظمهم هنا. دعونا نبدأ بتحويل المخزن المؤقت إلى JSON.

let bufferOne = Buffer.from('This is a buffer example.'); console.log(bufferOne); // Output:  let json = JSON.stringify(bufferOne); console.log(json); // Output: {"type": "Buffer", "data": [84,104,105,115,32,105,115,32,97,32,98,117,102,102,101,114,32,101,120,97,109,112,108,101,46]}

يحدد JSON أن نوع الكائن الذي يتم تحويله هو المخزن المؤقت والبيانات الخاصة به. سيظهر لنا تحويل المخزن المؤقت الفارغ إلى JSON أنه لا يحتوي إلا على الأصفار.

const emptyBuf = Buffer.alloc(10); emptyBuf.toJSON(); // Output: { "type": "Buffer", "data": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] }

لاحظ أن Buffer API يوفر أيضًا وظيفة مباشرة toJSON()لتحويل المخزن المؤقت إلى كائن JSON. لفحص حجم المخزن المؤقت ، يمكننا استخدام lengthالطريقة.

emptyBuf.length; // Output: 10

الآن دعونا نحول المخزن المؤقت إلى سلسلة قابلة للقراءة ، في حالتنا ، utf-8 المشفر.

console.log(bufferOne.toString('utf8')); // Output: This is a buffer example.

.toString()افتراضيًا يحول المخزن المؤقت إلى سلسلة تنسيق utf-8. هذه هي الطريقة التي تقوم بفك شفرة المخزن المؤقت. إذا حددت ترميزًا ، يمكنك تحويل المخزن المؤقت إلى ترميز آخر

console.log(bufferOne.toString('base64'));

مزيد من المعلومات حول المخازن المؤقتة:

  • هل تحتاج إلى فهم أفضل للمخازن المؤقتة في Node.js؟ تحقق من هذا.