متعدد الأجزاء محتوى نقل ترميز ثنائي - خيارات


إم كتابة خادم ويب بسيط في الثعبان الذي يسمح للمستخدم لتحميل ملف باستخدام مولتفورمفورم البيانات. بقدر ما أستطيع أن أقول، من المفترض أن البيانات متعددة مايم أن يكون على أساس خط. على سبيل المثال، يجب أن تكون الحدود في بداية السطر. لا أستطيع معرفة كيفية التعامل مع البيانات الثنائية في هذا الصدد. بلدي العميل (فايرفوكس) لا ترميز في أسي 7bit أو أي شيء، البيانات الثنائية الخام فقط إرسالها. هل تقسيم البيانات إلى خطوط في مواقع تعسفية هل هناك حد أقصى للطول المحدد للبيانات متعددة الأجزاء حاول إيف البحث من خلال رك ل مولتفورمفورم البيانات، ولكن لم تجد أي شيء. طلب 27 مارس 13 في 16:54 بعد حفر من خلال ركس، وأعتقد أنني أخيرا حصلت على كل شيء مباشرة في رأسي. تحتاج أجزاء الجسم (أي محتوى الجسم لجزء فردي في رسالة متعددة الأجزاء) إلى أن تكون مستندة إلى سطر بحيث تبدأ الحدود في نهاية الجزء مع كرلف. ولكن على خلاف ذلك، لا يلزم أن تكون البيانات قائمة على الخطوط، وإذا كان المحتوى يحدث أن يكون خط الفاصل في ذلك، لا توجد مسافة قصوى بينهما، كما أنها لا تحتاج إلى الهروب في أي حال (حسنا، ما لم يكن ربما كونتنت-transfer - يتم ترميز الترميز سلسلة). لا تشير الخيارات 7-بت و 8-بيت و ثنائي ل كونتنت-ترانسفر-إنكودينغ في الواقع إلى أن أي ترميز قد تم على البيانات (وبالتالي لا يحتاج إلى ترميز للتراجع)، إلا أنها تعني فقط للإشارة إلى نوع البيانات هل يمكن أن نتوقع أن نرى في الجزء الجسم. ما كنت حقا الحصول على في بلدي سيئة السؤال الذي أعرب عنه هو كيفية ريادبوفر البيانات من مأخذ حتى أتمكن من التأكد من أنني اشتعلت الحدود، ودون الحاجة إلى وجود عازلة كبيرة بشكل تعسفي (على سبيل المثال إذا حدث أن يكون هناك خط الفواصل في المحتوى، وهكذا انتهى ريادلين التخزين المؤقت كل شيء). ما انتهى به الأمر هو التخزين المؤقت من المقبس مع ريادلين باستخدام أقصى طول، وبالتالي فإن المخزن مؤقت لن يكون أطول من ذلك، ولكن أيضا التأكد من إنهاء إذا واجهت خط الفاصل. وهذا يضمن أنه عندما تأتي الحدود (بعد كرلف)، سيكون في بداية المخزن المؤقت. واضطررت الى القيام قليلا اضافية قرد حولها لضمان لم أكن قد أدرجت أن كرلف النهائي في محتوى الجسم الفعلي، لأنه وفقا ل رك المطلوبة قبل الحدود، وبالتالي ليست جزءا من المحتوى نفسه. أجاب أبريل 5 13 في 12:02 حاول مراجعة رك 2045. عادة، يتم تحويل المحتوى الثنائي إلى BASE64 بواسطة التطبيق الخاص بك وشملت في رسالة متعددة الأجزاء باستخدام كونتنت-ترانسفر-إنكودينغ. base64 في. هناك آليات أخرى لنقل البيانات الثنائية، ولكن هذا أمر شائع جدا. يتم تحويل البيانات الثنائية إلى ثمانيات وتقطيعها في سلاسل طول التحكيم (اعتمادا على متغير ترميز - انظر الرابط BASE64 أعلاه). ثم يقوم التطبيق المستلم بتشفيره في المحتوى الثنائي الأصلي. أنا لست مبرمج بيثون، ولكن أود أن يفاجأ أنه كان لديك حقا لرمز أي من هذا بنفسك. أظن أن هناك وظائف مكتبة الثعبان قبل بناؤها للقيام بذلك بالنسبة لك. أجاب مارس 27 13 في 17:43 شكرا، كنت أبحث في رك مختلفة والتي لم تكن مفيدة. كما وجدت رك 2046 الذي يحدد على وجه التحديد رسائل متعددة الأجزاء في القسم 5. ملاحظة هناك قليلا من الدقة في هذه رفكس التي من خلال لي قبالة: يقول الرسائل متعددة الأجزاء لا يمكن أن يكون الترميز غير 7 بت، 8 بت، وثنائي (أي ليس القاعدة 64). ومع ذلك، فإنه يمضي إلى القول أن الأجزاء الفردية داخل جزء متعدد يمكن أن يكون هناك الخاصة ترميز المحتوى، لذلك كنت على حق أن قاعدة 64 هو ممكن. نادش بريانميرنز مار 28 13 في 13:20 إجابتك 2017 ستاك إكسهانج، Inc5 حقل رأس نقل المحتوى ترميز يتم تمثيل العديد من أنواع المحتوى التي يمكن أن يكون من المفيد نقلها عبر البريد الإلكتروني، في شكلها الطبيعي، حرف 8 بت أو ثنائي البيانات. ولا يمكن نقل هذه البيانات عبر بعض بروتوكولات النقل. على سبيل المثال، رك 821 يقيد رسائل البريد إلى 7-بت بيانات أسي-أسي مع 1000 حرف. ولذلك، من الضروري تحديد آلية معيارية لإعادة تشفير هذه البيانات في نسق قصير من 7 بتات. تحدد هذه الوثيقة أنه سيتم الإشارة إلى هذه التشفيرات من خلال حقل رأس نقل المحتوى الجديد-ترميز. يتم استخدام حقل نقل المحتوى ترميز للإشارة إلى نوع التحويل الذي تم استخدامه لتمثيل الجسم بطريقة مقبولة للنقل. وخلافا لأنواع المحتوى، فإن تكاثر قيم تحويل المحتوى هو أمر غير مرغوب فيه وغير ضروري. ومع ذلك، لا يبدو إنشاء آلية واحدة لنقل المحتوى-ترميز ممكنا. هناك مفاضلة بين الرغبة في ترميز المدمجة وفعالة من البيانات الثنائية إلى حد كبير والرغبة في ترميز للقراءة من البيانات التي هي في معظمها، ولكن ليس تماما، والبيانات 7 بت. ولهذا السبب، يلزم وجود آليتي ترميز على الأقل: ترميز قابل للقراءة وترميز كثيف. تم تصميم الحقل كونتنت-ترانسفر-إنكودينغ لتحديد مخطط قابل للانعكاس بين التمثيل الأصلي لنوع من البيانات والتمثيل الذي يمكن تبادله بسهولة باستخدام بروتوكولات نقل البريد 7 بت، مثل تلك المعرفة بواسطة رك 821 (سمتب). لم يتم تعريف هذا الحقل بأي معيار سابق. قيمة الحقول هي رمز مميز واحد يحدد نوع الترميز، كما هو موضح أدناه. رسميا: هذه القيم ليست حساسة لحالة الأحرف. وهذا هو، Base64 و BASE64 و bAsE64 كلها معادلة. يتطلب نوع ترميز من 7BIT أن الجسم هو بالفعل في سبعة-بت التمثيل جاهزة جاهزة. هذه هي القيمة الافتراضية - أي كونتنت-ترانسفر-إنكودينغ: يفترض 7BIT إذا لم يكن حقل رأس نقل المحتوى ترميز. القيم 8bit، 7bit، والثنائي كل ذلك يعني أنه لم يتم تنفيذ ترميز. ومع ذلك، فإنها يمكن أن تكون مفيدة كمؤشرات لنوع البيانات الواردة في الكائن، وبالتالي من نوع الترميز التي قد تحتاج إلى أن يتم تنفيذها للإرسال في نظام نقل معين. 7bit يعني أن يتم تمثيل جميع البيانات كخطوط قصيرة من بيانات الولايات المتحدة أسي. 8bit يعني أن الخطوط قصيرة، ولكن قد تكون هناك أحرف غير أسي (الثمانيات مع مجموعة بت عالية الترتيب). تعني الثنائية أن ليس فقط الأحرف غير أسي موجودة، ولكن أيضا أن الخطوط ليست بالضرورة قصيرة بما فيه الكفاية لنقل سمتب. والفرق بين 8 بت (أو أي رمز آخر يمكن عرضه في عرض البتات) والرمز الثنائي هو أن الثنائي لا يتطلب التقيد بأي حدود على طول الخط أو دلالات سمتب كرلف، في حين أن رموز البتات العرض تتطلب هذا الالتزام. إذا كان الجسم يحتوي على بيانات بأي عرض بتات بخلاف 7 بت، فيجب استخدام الرمز المميز المناسب لترميز نقل المحتوى الذي يحتوي على عرض بت (على سبيل المثال 8 بت للبيانات غير المشفرة بتنسيق 8 بت). إذا كان الجسم يحتوي على بيانات ثنائية، يجب استخدام الرمز الثنائي لتحويل المحتوى-الترميز. قد يبدو التمييز بين قيم تحويل المحتوى ترميز ثنائي، 8bit، وما إلى ذلك غير مهم، في أن كل منهم يعني حقا لا شيء - أي أنه لم يكن هناك ترميز للبيانات للنقل. ومع ذلك، فإن وضع العلامات واضحة ستكون ذات قيمة هائلة للبوابات بين أنظمة النقل البريد في المستقبل مع قدرات مختلفة في نقل البيانات التي لا تلبي القيود المفروضة على النقل رك 821. واعتبارا من نشر هذه الوثيقة، لا توجد وسائل نقل موحدة للإنترنت يكون من المشروع إدراج بيانات 8 بت أو ثنائي غير مرمزة في هيئات البريد. وبالتالي لا توجد ظروف يكون فيها 8bit أو ثنائي نقل المحتوى ترميز قانوني على شبكة الإنترنت. ومع ذلك، في حالة أن يصبح نقل البريد 8 بت أو ثنائي حقيقة واقعة في بريد الإنترنت، أو عند استخدام هذا المستند بالاقتران مع أي آلية نقل أخرى ذات 8 بتات أو ثنائية، ينبغي تسمية جسيمات 8 بت أو ثنائي على هذا النحو باستخدام هذه الآلية. القيم الخمس المعرفة لحقل نقل المحتوى ترميز لا تعني شيئا عن نوع المحتوى بخلاف الخوارزمية التي تم ترميزها أو متطلبات نظام النقل إذا ونكونكود. ويجوز للمنفذين، عند الضرورة، تحديد قيم جديدة لتحويل المحتوى - ترميز، ولكن يجب استخدام الرمز المميز x، وهو اسم مسبوق بواسطة X - للإشارة إلى حالته غير القياسية، على سبيل المثال. كونتنت-ترانسفر-إنكودينغ: x-ماي-نيو-إنكودينغ. ومع ذلك، وخلافا لأنواع المحتوى والأنواع الفرعية، فإن إنشاء قيم جديدة لتحويل المحتوى ترميزه لا يتم تثبيطه بشكل صريح وقوي، حيث يبدو أنه من المرجح أن يعيق قابلية التشغيل البيني مع فائدة محتملة قليلة. ولا يسمح باستخدامها إلا نتيجة لاتفاق بين الوكلاء المتعاونين. إذا ظهر حقل رأس نقل المحتوى ترميز كجزء من رأس رسالة، فإنه ينطبق على كامل نص الرسالة. إذا ظهر حقل رأس نقل المحتوى ترميز كجزء من رؤوس أجزاء الجسم، فإنه ينطبق فقط على نص جزء الجسم هذا. إذا كان الكيان من نوع متعدد الأجزاء أو رسالة، فلن يسمح بتضمين كونتنت-ترانسفر-إنكودينغ أي قيمة بخلاف عرض البتات (على سبيل المثال 7 بت أو 8 بت أو ما إلى ذلك) أو ثنائي. وتجدر الإشارة إلى أن البريد الإلكتروني هو حرف المنحى، بحيث الآليات الموصوفة هنا هي آليات لترميز تيارات بايت التعسفي، وليس بتات تيارات. وإذا كان ينبغي تشفير قطار البتات عبر إحدى هذه الآليات، يجب أولا تحويله إلى تيار بايتة 8 بتات باستعمال النظام البتات القياسي للشبكة (بيج-إنديان)، الذي تصبح فيه البتات الأقدم في تيار أعلى، بت النظام في بايت. يجب أن يكون تيار بتات لا تنتهي عند حد 8 بت مبطن بالأصفار. توفر هذه الوثيقة آلية للإشارة إلى إضافة هذه الحشو في حالة تطبيق نوع المحتوى، الذي يحتوي على المعلمة الحشو. آليات الترميز المعرفة هنا ترميز صريح لجميع البيانات في أسي. وهكذا، على سبيل المثال، لنفترض أن الكيان يحتوي على حقول رأسية مثل: يجب تفسير هذا على أنه يعني أن الجسم هو ترميز أسي base64 للبيانات التي كانت في الأصل في إسو-8859-1، وسوف تكون في مجموعة الأحرف هذه مرة أخرى بعد فك التشفير . وستحدد الأقسام التالية آليتي التشفير المعياريتين. إن تعريف التشكيلات الجديدة لنقل المحتوى لا يشجعه على نحو صريح ولا ينبغي أن يحدث إلا عند الضرورة القصوى. جميع مساحات ترميز نقل المحتوى باستثناء تلك التي تبدأ ب X - محفوظة صراحة ل إيانا لاستخدامها في المستقبل. كما أن الاتفاقات الخاصة بشأن ترميز نقل المحتوى لا تشجع على ذلك صراحة. قد يتم استخدام قيم معينة لتحويل المحتوى فقط في أنواع محتوى معينة. على وجه الخصوص، يمنع بشكل صريح استخدام أي ترميزات بخلاف 7 بت أو 8 بت أو ثنائي مع أي نوع المحتوى الذي يتضمن بشكل متكرر حقول أخرى من نوع المحتوى، ولا سيما متعدد الأجزاء ورسائل أنواع المحتوى. يجب أن تتم جميع التشفيرات المرغوبة لأجسام من نوع متعدد الأجزاء أو رسالة على المستوى الأعمق، عن طريق ترميز الجسم الفعلي الذي يحتاج إلى ترميز. ملاحظة حول تشفير القيود: على الرغم من أن حظر استخدام ترميز نقل المحتوى على بيانات من نوع متعدد الأجزاء أو رسالة قد يبدو مفرطا في التقييد، فمن الضروري منع ترميزات متداخلة، والتي يتم تمرير البيانات من خلال خوارزمية ترميز عدة مرات، ويجب أن يكون فك الشفرة عدة مرات لكي ينظر إليها بشكل صحيح. وتضيف التشفيرات المتداخلة تعقيدا كبيرا لوكلاء المستعملين: وبصرف النظر عن مشاكل الكفاءة الواضحة مع هذه التشفيرات المتعددة، فإنها يمكن أن تحجب البنية الأساسية للرسالة. على وجه الخصوص، فإنها يمكن أن تعني أن العديد من عمليات فك التشفير ضرورية ببساطة لمعرفة أنواع الكائنات التي تحتوي على رسالة. حظر ترميزات متداخلة قد تعقيد مهمة بعض بوابات البريد، ولكن هذا يبدو أقل من مشكلة من تأثير ترميزات متداخلة على وكلاء المستخدم. ملاحظة بشأن العلاقة بين نوع المحتوى والمحتوى - تحويل الشفرة قد يبدو أنه يمكن استدلال نقل المحتوى من خصائص نوع المحتوى الذي سيتم ترميزه، يمكن تكليف نقل المحتوى - التشفير للاستخدام مع أنواع المحتوى المحددة. وهناك عدة أسباب وراء ذلك. أولا، نظرا لأنواع مختلفة من وسائل النقل المستخدمة للبريد، قد تكون بعض التشفيرات مناسبة لبعض تركيبات المحتوى تيبترانسبورت وليس للآخرين. (على سبيل المثال، في النقل من 8 بتات، لن تكون هناك حاجة إلى ترميز للنص في مجموعات أحرف معينة، في حين أن هذه التشفيرات مطلوبة بشكل واضح من أجل سمتب ذات 7 بتات.) ثانيا، قد تتطلب أنواع معينة من أنواع المحتوى أنواعا مختلفة من ترميز النقل تحت ظروف مختلفة. على سبيل المثال، قد تتكون العديد من هيئات بوستسكريبت بالكامل من خطوط قصيرة من البيانات 7 بت، وبالتالي تتطلب القليل أو لا الترميز. ولا يمكن تمثيل أجهزة بوستسكريبت الأخرى (وخاصة تلك التي تستخدم آلية الترميز الثنائي للمخطوطات الثانوية) إلا بشكل معقول باستخدام ترميز النقل الثنائي. وأخيرا، وبما أن نوع المحتوى يقصد به أن يكون آلية مواصفات مفتوحة، فإن المواصفات الصارمة للارتباط بين أنواع المحتوى والترميزات تزوج بشكل فعال مواصفات بروتوكول تطبيق مع نقل محدد من المستوى الأدنى. هذا غير مرغوب فيه منذ المطورين من نوع المحتوى لا ينبغي أن يكون على بينة من جميع وسائل النقل المستخدمة وما هي حدودها. ملاحظة حول ترميز عمليات الترميز تم تصميم ترميزات الطباعة القابلة للطباعة والقاعدة 64 بحيث يكون التحويل بينهما ممكنا. المسألة الوحيدة التي تنشأ في مثل هذا التحويل هو التعامل مع فواصل الأسطر. عند التحويل من مقتبس مطبوع إلى base64 يجب تحويل فاصل السطر إلى تسلسل كرلف. وبالمثل، ينبغي تحويل تسلسل كرلف في بيانات base64 إلى فاصل سطر مطبوع قابل للطباعة، ولكن فقط عند تحويل البيانات النصية. ملاحظة على نموذج التشفير الكنسي: كان هناك بعض الارتباك، في مسودات سابقة من هذه المذكرة، فيما يتعلق بنموذج عندما يتم تحويل بيانات البريد الإلكتروني إلى شكل الكنسي وترميز، وعلى وجه الخصوص كيف أن هذه العملية سوف تؤثر على علاج كرلفس، بالنظر إلى أن فإن تمثيل الخطوط الجديدة يختلف اختلافا كبيرا من نظام إلى آخر. لهذا السبب، يتم عرض نموذج متعارف عليه للترميز في التذييل حاء. 5.1 ترميز المحتوى القابل للطباعة ونقله يقصد من الترميز المشفر القابل للطباعة تمثيل البيانات التي تتكون إلى حد كبير من الثمانيات التي تتوافق مع الأحرف القابلة للطباعة في مجموعة أحرف أسي. وهو يشفر البيانات بطريقة تجعل من غير المحتمل تعديل الثماني الناتجة عن طريق النقل بالبريد. إذا كانت البيانات التي يتم ترميزها في الغالب نص أسي، فإن الشكل المشفر من البيانات لا يزال يمكن التعرف عليه إلى حد كبير من قبل البشر. ويمكن أيضا أن يتم ترميز الجسم الذي هو أسي تماما في كوتد-برينتابل لضمان سلامة البيانات يجب أن تمر الرسالة من خلال حرف ترجمة و أندور خط التفاف البوابة. وفي هذا التشفير، ينبغي تمثيل الثمانيات على النحو الذي تحدده القواعد التالية: القاعدة 1: (تمثيل 8 بتات عامة) أي ثماني، باستثناء تلك التي تشير إلى فاصل خط وفقا للاتفاقية الجديدة للشكل المتعارف عليه للبيانات المشفرة، يمكن تمثيلها باتباع تمثيل سداسي عشري مكون من رقمين لقيمة الثمانيات. أرقام الأبجدية الست عشرية، لهذا الغرض، هي 0123456789ABCDEF. يجب استخدام الأحرف الكبيرة عند إرسال البيانات السداسية العشرية، على الرغم من أن التنفيذ القوي قد يختار التعرف على الأحرف الصغيرة عند الاستلام. وهكذا، على سبيل المثال، يمكن تمثيل القيمة 12 (خلاصة شكل أسي) ب 0 C، ويمكن تمثيل القيمة 61 (أسي إكوال سيغن) ب 3D. وباستثناء ما إذا كانت القواعد التالية تسمح بترميز بديل، تكون هذه القاعدة إلزامية. القاعدة 2: (التمثيل الحرفي) يمكن تمثيل الثماني ذات القيم العشرية من 33 إلى 60 شاملا، ومن 62 إلى 126، شاملة، كحروف أسي التي تتوافق مع تلك الثمانيات (نقطة الاستثناء من خلال أقل من، وأكبر من خلال تيلد، على التوالي ). القاعدة 3: (المسافات البيضاء) يمكن تمثيل الثواني ذات القيم 9 و 32 على شكل حرفين أسي تاب (هت) و سباس، على التوالي، ولكن يجب ألا تكون ممثلة في نهاية السطر المشفر. ولذلك يجب اتباع أي حرف تاب (هت) أو سباس على خط مشفر على هذا الخط بواسطة حرف قابل للطباعة. وعلى وجه الخصوص، يمكن أن يتبع في نهاية خط مشفر يشير إلى كسر خط ناعم (انظر القاعدة 5) حرفا تاب أو هاب أو سباس واحد أو أكثر. ويترتب على ذلك أن الثماني ذات القيمة 9 أو 32 التي تظهر في نهاية الخط المشفر يجب أن تكون ممثلة وفقا للقاعدة 1. وهذه القاعدة ضرورية لأن بعض متاس (وكلاء نقل الرسائل، البرامج التي تنقل الرسائل من مستخدم إلى آخر، أو تؤدي جزء من عمليات النقل هذه) معروفة بخط خطوط النص مع سباس، ومن المعروف أن البعض الآخر إزالة أحرف المسافة البيضاء من نهاية السطر. لذلك، عند فك هيئة مقتبسة قابلة للطباعة، يجب حذف أي مساحة بيضاء زائدة على خط، حيث أنه قد تمت إضافتها بالضرورة بواسطة وكلاء نقل وسيطة. القاعدة 4 (فواصل الأسطر) يجب أن يمثل فاصل سطر في جزء نص نص، بغض النظر عن تمثيله بعد التمثيل الكنسي للبيانات المشفرة، بسطر سطر (رك 822)، وهو تتابع كرلف، الترميز المشروح القابل للطباعة. وإذا سمح بتكرار متواليات كرس و لف، أو متواليات لف كر و كر لف في البيانات الثنائية وفقا للشكل المتعارف عليه، يجب تمثيلها باستخدام الرموز 0D و 0A و 0A0D و 0 D0A على التوالي. لاحظ أن العديد من التنفيذ قد يختار ترميز التمثيل المحلي لأنواع المحتوى المختلفة مباشرة. على وجه الخصوص، قد ينطبق هذا على مواد النص العادي على الأنظمة التي تستخدم اتفاقيات خطوط جديدة بخلاف محددات كرلف. وهذا التنفيذ مسموح به، ولكن يجب أن يعمم توليد فواصل الأسطر لتفسير الحالة التي تستخدم فيها تعويبات بديلة للتسلسل الجديد. القاعدة 5 (فواصل الخطوط الناعمة) يتطلب الترميز المشفر القابل للطباعة أن لا يتجاوز طول الخطوط المشفرة 76 حرفا. وفي حالة تشفير الخطوط الأطول مع التشفير القابل للطباعة المسعرة، يجب استخدام فواصل الخطوط الناعمة. وتشير علامة متساوية مثل الحرف الأخير على خط مشفر إلى كسر خط غير هام (ناعم) في النص المشفر. وهكذا إذا كان الشكل الخام للخط هو خط وحيد غير مشفر يقول: يمكن تمثيل ذلك في التشفير المطبوع القابل للطباعة، حيث يوفر ذلك آلية ترميز فيها خطوط طويلة بطريقة يمكن أن يستعادها المستعمل وكيل. لا يحسب الحد 76 حرفا كرلف زائدة، ولكن يحسب كل الأحرف الأخرى، بما في ذلك أي علامات متساوية. وبما أن حرف الواصلة (-) يمثل نفسه في التشفير المقتبس القابل للطباعة، يجب توخي الحذر عند تغليف جسم مشفر قابل للطباعة في كيان متعدد الأجزاء لضمان عدم ظهور حدود التغليف في أي مكان في الجسم المشفر . (استراتيجية جيدة هي اختيار الحدود التي تتضمن تسلسل حرف مثل التي لا يمكن أبدا أن تظهر في الجسم المطبوع للطباعة. انظر تعريف الرسائل متعددة الأجزاء في وقت لاحق من هذا المستند.) ملاحظة: الترميز القابل للطباعة المقروءة يمثل شيئا من حل وسط بين قابلية القراءة والموثوقية في النقل. وستعمل الهيئات المشفرة بترميز مطبوع يمكن طباعته بصورة موثوقة على معظم بوابات البريد، ولكنها قد لا تعمل تماما على عدد قليل من البوابات، ولا سيما تلك التي تنطوي على ترجمة إلى إبكديك. (من الناحية النظرية، يمكن لبوابة إبكديك أن تقوم بفك شفرة هيئة مقتبسة قابلة للطباعة وإعادة ترميزها باستخدام base64، ولكن لا توجد بوابات من هذا القبيل بعد.) يتم تقديم مستوى أعلى من الثقة من قبل base64 نقل المحتوى ترميز. وهناك طريقة للحصول على وسائل نقل موثوقة بشكل معقول من خلال بوابات إبكديك هي أيضا اقتباس أحرف أسي وفقا للقاعدة 1. انظر الملحق ب لمزيد من المعلومات. ونظرا لأن البيانات القابلة للطباعة المقتبسة يفترض عموما أنها موجهة نحو الخطوط، فمن المتوقع أن يتم تغيير الفواصل بين خطوط البيانات القابلة للطباعة المعروضة في النقل، بنفس الطريقة التي تم بها تغيير البريد العادي للنص العادي في بريد الإنترنت عندما يمر بين الأنظمة مع مختلف الاتفاقيات الجديدة. وإذا كان من المحتمل أن تشكل هذه التعديلات فسادا للبيانات، فمن الأرجح أن يكون استخدام ترميز Base64 بدلا من التشفير المطبوع. 5.2 Base - نقل المحتوى ترميز تم تصميم Base64 نقل المحتوى ترميز لتمثيل تسلسل التعسفي من الثمانيات في شكل غير قابل للقراءة إنسانيا. خوارزميات التشفير وفك التشفير بسيطة، ولكن البيانات المشفرة هي دائما فقط حوالي 33 في المئة أكبر من البيانات غير المشفرة. ويستند هذا التشفير إلى المستعمل المستخدم في تطبيقات البريد المحسن للخصوصية، كما هو معرف في رك 1113. يتم تكييف ترميز Base64 من رك 1113، مع تغيير واحد: base64 يلغي آلية النص الواضح المضمن. وتستخدم مجموعة فرعية مكونة من 65 حرفا من الولايات المتحدة - أسي، مما يتيح تمثيل 6 بتات لكل حرف قابل للطباعة. (يتم استخدام الحرف 65، للدلالة على وظيفة معالجة خاصة.) ملاحظة: هذه المجموعة الفرعية لها الخاصية الهامة التي يتم تمثيلها بشكل متطابق في كافة إصدارات إسو 646، بما في ذلك أسي الولايات المتحدة، ويتم تمثيل جميع الأحرف في المجموعة الفرعية أيضا متطابقة في جميع إصدارات إبكديك. الترميزات الشعبية الأخرى مثل الترميز المستخدم من قبل الأداة المساعدة ونكود والترميز base85 المحدد كجزء من المستوى 2 بوستسكريبت لا تشارك هذه الخصائص وبالتالي لا تستوفي متطلبات قابلية النقل ترميز النقل ثنائي للبريد يجب أن تفي. وتمثل عملية التشفير مجموعات بتات من البتات الإدخال ذات 24 بتة كسلاسل خرج من 4 أحرف مشفرة. انطلاقا من اليسار إلى اليمين، يتم تشكيل مجموعة المدخلات 24 بت من خلال تسلسل 3 مجموعات الإدخال 8 بت. وبعد ذلك تعالج هذه البتات الأربع والعشرين 4 مجموعات متسلسلة 6 بتات، وترجم كل منها إلى رقم واحد في الأبجدية Base64. وعند تشفير قطار بتات عن طريق ترميز base64، يفترض أن يكون قطار البتات مفترضا بأمر أول بتة ذات دلالة إحصائية. وهذا يعني أن البتة الأولى في الدفق ستكون البتات ذات الترتيب العالي في البايتة الأولى، أما البتة الثامنة فستكون البتات ذات الترتيب المنخفض في البايتة الأولى، وهكذا. يتم استخدام كل مجموعة 6 بت كدليل في صفيف مكون من 64 حرفا قابل للطباعة. يتم وضع الحرف المشار إليه بواسطة الفهرس في سلسلة الإخراج. ويتم اختيار هذه الأحرف، التي تم تحديدها في الجدول 1 أدناه، بحيث يمكن تمثيلها عالميا، وتستبعد المجموعة حروف ذات أهمية خاصة ل سمتب (على سبيل المثال، كر، لف) وحدود التغليف المحددة في هذه الوثيقة (على سبيل المثال -) . الجدول 1: الأبجدية Base64 يجب تمثيل تيار المخرجات (البايتات المشفرة) في خطوط لا تزيد عن 76 حرفا لكل منها. يجب تجاهل جميع فواصل الأسطر أو الأحرف الأخرى غير الموجودة في الجدول 1 بواسطة برامج فك التشفير. في بيانات base64، قد تشير أحرف غير تلك الواردة في الجدول 1 وفواصل الأسطر والمسافة البيضاء الأخرى إلى خطأ في الإرسال، قد تكون رسالة تحذير أو حتى رفض رسالة مناسبة في بعض الحالات. وتجري معالجة خاصة إذا توفرت أقل من 24 بتة في نهاية البيانات التي يجري تشفيرها. يتم استكمال الكم الترميز الكامل دائما في نهاية الجسم. وعندما تتوفر أقل من 24 بتة دخل في مجموعة دخل، تضيف بتات صفر (على اليمين) لتشكيل عدد لا يتجزأ من مجموعات 6 بتات. يتم تعيين المواضع حرف الإخراج التي ليست مطلوبة لتمثيل بيانات المدخلات الفعلية إلى الحرف. وبما أن جميع مدخلات القاعدة 64 هي عدد لا يتجزأ من الثمانيات، فإن الحالات التالية هي وحدها التي يمكن أن تنشأ: (1) الكم النهائي من دخل التشفير هو مضاعف لا يتجزأ من 24 بتة هنا، فإن الوحدة النهائية من المشفرة المخرجات ستكون مضاعفة لا يتجزأ من 4 أحرف مع عدم وجود حشو، (2) الكم النهائي من المدخلات ترميز هو بالضبط 8 بت هنا، فإن الوحدة النهائية من الإخراج المشفرة يكون حرفين تليها اثنين من الأحرف الحشو، أو (3) الكم النهائي من المدخلات الترميز هو بالضبط 16 بت هنا ، ستكون الوحدة النهائية من المخرجات المشفرة ثلاثة أحرف متبوعة بحرف واحد. يجب توخي الحذر لاستخدام الثمانيات المناسبة لفواصل الأسطر إذا تم تطبيق ترميز Base64 مباشرة على مواد نصية لم يتم تحويلها إلى شكل أساسي. وعلى وجه الخصوص، ينبغي تحويل فواصل أسطر النص إلى متواليات كرلف قبل تشفير base64. الشيء المهم أن نلاحظ هو أن هذا يمكن أن يتم مباشرة من قبل التشفير بدلا من في خطوة أساسية كانيوناليزاشيون في بعض التطبيقات. ملاحظة: لا داعي للقلق بشأن الاقتباس من حدود التغليف الظاهري ضمن أجزاء ترميز base64 من كيانات متعددة الأجزاء لأنه لا يتم استخدام رموز الواصلة في ترميز base64.Content-ترانسفر-إنكودينغ: 8bit أضاف بشكل غير صحيح إلى رؤوس رسائل البريد الإلكتروني المتعددة مع صور مضمنة عندما عند الرد على رسالة هتمل إلى القائمة، يتم عرض الرسالة التي تم اقتباسها أصلا كإصدار نص عادي صحيح للرسالة متبوعا بعرض نص عادي لمصدر هتمل لإصدار هتمل للرسالة وتشفير base64 نص عادي من أي صور مضمنة. تم توثيق هذا السلوك حتى الآن في الرسائل المرسلة من بوستبوكس 3.05 لنظام التشغيل ماك أوس X، حيث تكون الصورة المضمنة صورة الملف الشخصي للمرسل من دفتر العناوين، ورسالة هتمل هي تنسيق أساسي بخلاف ذلك. لتأكيد ما إذا كان هذا محددا لبرنامج البريد الإلكتروني هذا. باباج كريديت أتريبوتيون: باباج علق 8 سبتمبر 2012 في 09:40 ص يتم عرض رسائل هتمل مقتبسة في شكل نص عادي من التعليمات البرمجية يتم عرض الصور المضمنة كإصدارات نص عادي من التعليمات البرمجية أكد أن هذه المشكلة لا تحدث إذا قمت بإيقاف تفضيلات صندوق البريد ، تضمين صور الاتصال لكل مشارك عند تلخيص، مما يؤدي إلى جزء في البريد الإلكتروني هتمل متعدد الأجزاء من إيماجيجبيغ: لذلك من المرجح أن يقتصر على هذه القضية عندما يتم تضمين صورة مضمنة في رسالة مجموعة. باباج الائتمان الإحالة: باباج علق 8 سبتمبر 2012 في 09:51 ص أكد ليس هناك مشكلة في إرسال رسالة إلى القائمة مع ملف جبغ القياسية كمرفق، بدلا من مضمنة. (قد لا يزال عرض مضمنة، اعتمادا على عميل البريد.) أكد صورة مضمنة في الرسالة الأصلية النتائج في هتمل و إيماجيجبيغ المرفق التي يتم تقديمها كنص عادي في الرسالة المرسلة، لذلك هذا لا يقتصر على ردود الرسالة. باباج الائتمان الإحالة: باباج علق 8 سبتمبر 2012 في 09:59 ص تحدث مشكلة مع قسم من ogmailinglisttransport. inc في ج. لين 908 (قد يكون رقم السطر قد تغير بسبب عملي في الملف)، في القسم الذي يبدأ: هذا هو القسم من التعليمات البرمجية التي يبدو أنها تسبب هذه المشكلة. رسائل البريد الإلكتروني مع الصور المضمنة لها رؤوس مثل: كونتنت-تايب: مولتيبارتمكسد بونداريدروبال-أوغ-مايلينغليست - 1143534839 تشارسيتوتف-8 رسائل البريد الإلكتروني دون المشكلة لم يكن لديك بارداردروبال-أوغ-مايلينغليست - 1143534839 وبدلا من ذلك شيء مثل: كونتنت-تايب: مولتيبارتمكسد الحدود ------------ 050107000403000604050201 تشارسيتوتف-8 وبطبيعة الحال، فإن الطبيعة الدقيقة للحدود من المرجح أن ترسل إلى حد ما البريد الإلكتروني العميل الخاصة، ولكن يبدو أن تضييقه إلى مشكلة في خلق من كيان مايم جديد كما هو مبين أعلاه. باباج الائتمان الإحالة: باباج علق 8 سبتمبر 2012 الساعة 10:19 ص هم. تحتوي رسائل البريد الإلكتروني التي تحتوي على هذه المشكلة على بنية الرأس التالية: أي أن الرأس الأساسي ينص على كونتنت-ترانسفر-إنكودينغ هو 8 بت (و أوتف-8)، ولكن بعد ذلك ينص كل قسم فرعي على أنه 7bit (و إسو-8859-1، في حالة هذه الرسائل). إيم التفكير في التناقض 8bit7bit يمكن أن يكون مشكلة هنا باباج إسناد الائتمان: تعليق باباج 8 سبتمبر 2012 في 09:10 م إذا ظهر حقل رأس نقل المحتوى ترميز كجزء من رأس الرسالة، فإنه ينطبق على كامل هذه الرسالة . إذا ظهر حقل رأس نقل المحتوى ترميز كجزء من رؤوس أجزاء الجسم، فإنه ينطبق فقط على نص جزء الجسم هذا. إذا كان الكيان من نوع متعدد الأجزاء أو رسالة، فلن يسمح بتضمين كونتنت-ترانسفر-إنكودينغ أي قيمة بخلاف عرض البتات (على سبيل المثال 7 بت أو 8 بت أو ما إلى ذلك) أو ثنائي. لذا فإن وجود مواصفات 8bit صريحة في رأس تجاوز مواصفات 7bit في الرسالة متعددة الأجزاء. وحتى عدم وجود أي ترميز لنقل المحتوى في الرأس سيتجنب هذه المشكلة، لأن كلا من مواصفات جزء الجسم ستطبق ولكن أيضا لأن نفس الوثيقة تحدد 7 بت هي الحالة الافتراضية إذا لم يتم تحديد ترميز.

Comments