هل يجب استخدام الانسي أو يونيكود محارف مع dllimport؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

عند استخدام DllImport لاستيراد وظيفة يمكنك تحديد محارف للاستخدام. لقد لاحظت أن في C #، C ++ و Visual Basic افتراضات وقت التشغيل الصافية لاستخدام العنسي بدلا من يونيكود لهذا الغرض. ذلك لأي استدعاء نظام يحتوي على ألف ونسخة W ألف نسخة وسوف يطلق افتراضيا. يستخدم صافي يونيكود داخليا وإذا أنا إصدارات جديدة لا تخطئ النوافذ أيضا ترجمة كل شيء إلى Unicode لذلك هذا يعني الكثير من النفقات العامة حشد إضافية.

ولقد حصلت في العادة من تحديد دائما يونيكود هنا هل هذه هي الطريقة الصحيحة للقيام الأشياء أو سيكون هذا سبب المشاكل؟

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

المحلول

إذا كنت تستخدم المتغيرات ANSI، سيكون لديك مشاكل إذا (على سبيل المثال) هناك ملف باسم التي لا يمكن تمثيلها في مخطط الشفرة ANSI المستخدمة. الجانب السلبي الوحيد مع استخدام يونيكود هو أن الشفرة قد لا تعمل بشكل جيد على الإصدارات القديمة من ويندوز الأنظمة الأساسية Win9x (95 و 98 و ME).

وهناك عدد قليل من الوظائف حيث سيكون لديك لاستخدام ANSI، لأنها في الواقع استخدام ASCII (GetProcAddress على سبيل المثال).

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