freeCodeCamp/guide/arabic/nodejs/buffer/index.md

81 lines
3.6 KiB
Markdown
Raw Normal View History

---
title: Nodejs- Buffer
localeTitle: Nodejs- Buffer
---
## متعادل
ثنائي هو ببساطة مجموعة أو مجموعة من `1` و `0` . يسمى كل رقم في الثنائي ، كل 1 و 0 في مجموعة _بت_ . يقوم الكمبيوتر بتحويل البيانات إلى هذا التنسيق الثنائي لتخزين وتنفيذ العمليات. على سبيل المثال ، فيما يلي خمس ثنائيات مختلفة:
`10, 01, 001, 1110, 00101011`
لا تحتوي جافا سكريبت على بيانات نوع بايت في واجهة برمجة التطبيقات الأساسية. لمعالجة البيانات الثنائية يتضمن Node.js تطبيق مخزن مؤقت ثنائية مع وحدة نمطية عمومية تسمى `Buffer` .
### خلق المخزن المؤقت
هناك طرق مختلفة يمكنك إنشاء مخزن مؤقت في Node.js. يمكنك إنشاء مخزن مؤقت فارغ بحجم 10 بايت.
`const buf1 = Buffer.alloc(10);
`
من السلاسل UTF-8-encoded ، يكون الإنشاء كالتالي:
`const buf2 = Buffer.from('Hello World!');
`
هناك ترميز مقبول مختلف عند إنشاء مخزن مؤقت:
* أسكي
* UTF-8
* base64 في:
* LATIN1
* الثنائية
* عرافة
هناك ثلاث وظائف منفصلة مخصصة في API Buffer لاستخدام وإنشاء مخازن جديدة. في الأمثلة أعلاه رأينا `alloc()` ومن `from()` . والثالث هو `allocUnsafe()` .
`const buf3 = Buffer.allocUnsafe(10);
`
عند إعادتها ، قد تحتوي هذه الوظيفة على بيانات قديمة تحتاج إلى الكتابة فوقها.
### التفاعلات مع المخزن المؤقت
هناك تفاعلات مختلفة يمكن إجراؤها باستخدام واجهة برمجة تطبيقات Buffer. سنقوم بتغطية معظمهم هنا. دعونا نبدأ بتحويل مخزن مؤقت إلى JSON.
`let bufferOne = Buffer.from('This is a buffer example.');
console.log(bufferOne);
// Output: <Buffer 54 68 69 73 20 69 73 20 61 20 62 75 66 66 65 72 20 65 78 61 6d 70 6c 65 2e>
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 أن نوع الكائن الذي تم تحويله هو Buffer ، وبياناته. سيظهر لنا تحويل مخزن مؤقت فارغ إلى 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'));
`