حساب حجم سلسلة جافا سكريبت بالبايت
يدور السؤال حول تحديد حجم سلسلة جافا سكريبت بالبايت. من خلال سلسلة مشفرة UTF-8 تم استلامها من الخادم بقياس 500 كيلو تقريبًا، يستكشف الاستعلام العوامل التي تؤثر على حجم السلسلة، بما في ذلك استخدام UCS-2 في JavaScript، والاختلافات المحتملة في تطبيقات JavaScript، وتأثير تشفير الصفحة أو نوع المحتوى .
تحديد حجم السلسلة في جافا سكريبت
للحصول على حجم السلسلة بالبايت، يمكن استخدام كائن Blob. يأخذ مُنشئ Blob مصفوفة تحتوي على السلسلة المراد قياسها. توفر خاصية size لكائن Blob الناتج الحجم بالبايت.أمثلة لحساب حجم سلسلة جافا سكريبت
لأغراض التوضيح، فيما يلي بعض الأمثلة على السلسلة الأحجام المحسوبة باستخدام كائن Blob:
console.info( new Blob(['?']).size, // 4 new Blob(['?']).size, // 4 new Blob(['؟؟']).size, // 8 new Blob(['؟؟']).size, // 8 new Blob(['أنا سلسلة']).size, // 12 // من تصحيح Premasagar لإجابة لوري لـ // السلاسل التي تحتوي على أحرف وحيدة في نطاق الزوج البديل: // https://stackoverflow.com/a/39488643/6225838 new Blob([String.fromCharCode(55555)]).الحجم، // 3 new Blob([String.fromCharCode(55555, 57000)]).الحجم // 4 (وليس 6) );
console.info(
new Blob(['?']).size, // 4
new Blob(['?']).size, // 4
new Blob(['??']).size, // 8
new Blob(['??']).size, // 8
new Blob(['I\'m a string']).size, // 12
// from Premasagar correction of Lauri's answer for
// strings containing lone characters in the surrogate pair range:
// https://stackoverflow.com/a/39488643/6225838
new Blob([String.fromCharCode(55555)]).size, // 3
new Blob([String.fromCharCode(55555, 57000)]).size // 4 (not 6)
);
عوامل إضافية يجب مراعاتهابينما تستخدم JavaScript UCS-2 بشكل أساسي، قد تنحرف بعض التطبيقات عن هذا المعيار. بالإضافة إلى ذلك، يمكن أن يؤثر ترميز الصفحة ونوع المحتوى على تمثيل حجم السلسلة. من المهم التحقق من تطبيق JavaScript وبيئة المتصفح المحددة بحثًا عن أي اختلافات محتملة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3