كم إضافية علوية يتم إنشاؤها عند إرسال الملف عبر خدمة ويب كما صفيف بايت?
-
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 في ترميز السلسلة بشكل افتراضي.يمكنك أيضا تحديد ترميز صفيف بايت مسبقا.
ومن الواضح مرة واحدة يحصل على الخادم (أو العميل) تحتاج إلى يدويا فك السلسلة مرة أخرى إلى صفيف بايت كما لم تفعل التلقائى لك للأسف.
الرئيسية ضرب الأداء لن يكون من نقل ترميز الملف سيكون في معالجة هذا الخادم له علاقة لترميز الملف قبل التحويل (إلا إذا كانت الملفات لا تغيير في كثير من الأحيان و النسخة المشفرة يمكن أن يكون مؤقتا بطريقة أو بأخرى).