كم إضافية علوية يتم إنشاؤها عند إرسال الملف عبر خدمة ويب كما صفيف بايت?

StackOverflow https://stackoverflow.com/questions/11820

  •  08-06-2019
  •  | 
  •  

سؤال

هذا سؤال وجواب يوضح كيفية إرسال ملف كما صفيف بايت من خلال خدمة ويب XML.كم النفقات العامة يتم إنشاؤها باستخدام هذه الطريقة لنقل الملفات?أفترض البيانات تبدو شيئا مثل هذا:

<?xml version="1.0" encoding="UTF-8" ?>
<bytes>
    <byte>16</byte>
    <byte>28</byte>
    <byte>127</byte>
    ...
</bytes>

إذا كان هذا الشكل هو الصحيح ، فإن بايت يجب أولا تحويلها إلى UTF-8 أحرف.كل من هذه الشخصيات يخصص 8 بايت.هي بايت المخزنة في قاعدة 10, عرافة, أو الثنائية الشخصيات ؟ كم أكبر هل الملف تظهر كما يتم إرسالها بسبب بيانات XML و حرف ترميز ؟ هو ضغط بنيت في الخدمات ؟

هل كانت مفيدة؟

المحلول

عادة صفيف بايت يتم إرسالها كما base64 ترميز السلسلة ، وليس الفردية بايت في العلامات.

http://en.wikipedia.org/wiki/Base64

على base64 النسخة المشفرة عن 137% حجم المحتوى الأصلي.

نصائح أخرى

يمكنني استخدام هذا الأسلوب في بعض الشركات الداخلية webservices, و لم ألاحظ أي بطء هبوطا (ولكن هذا لا يعني أنه ليس هناك).

ربما يمكن استخدام أي من العديد من حركة مرور الشبكة أدوات تحليل لقياس حجم البيانات و إجراء مكالمة الحكم بناء على ذلك.

أنا غير متأكد حول كل التفاصيل (ضغط, ترميز, الخ) ولكن عادة ما تستخدم فقط يريشارك لتحليل حركة مرور شبكة الاتصال (أثناء محاولة أساليب مختلفة) مما يسمح لك أن ترى بالضبط كيف يتم إرساله.

على سبيل المثال, اذا كان مضغوط كتلة بيانات الحزمة لا يجب أن تكون قابلة للقراءة كما نص عادي...ومع ذلك إذا كان من غير مضغوط, سوف نرى فقط سهل القديمة xml النص...كأنك ترى HTTP حركة المرور ، أو حتى FTP في بعض الحالات.

أن أردد ما قال كيفن ، في .صافي خدمات ويب إذا كان لديك صفيف بايت إرسالها كما base64 في ترميز السلسلة بشكل افتراضي.يمكنك أيضا تحديد ترميز صفيف بايت مسبقا.

ومن الواضح مرة واحدة يحصل على الخادم (أو العميل) تحتاج إلى يدويا فك السلسلة مرة أخرى إلى صفيف بايت كما لم تفعل التلقائى لك للأسف.

الرئيسية ضرب الأداء لن يكون من نقل ترميز الملف سيكون في معالجة هذا الخادم له علاقة لترميز الملف قبل التحويل (إلا إذا كانت الملفات لا تغيير في كثير من الأحيان و النسخة المشفرة يمكن أن يكون مؤقتا بطريقة أو بأخرى).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top