سؤال

هل من الممكن استخدام libxml مع يونيكود؟

وعلى سبيل المثال تأخذ الدالة xmlParseDoc على xmlChar

وxmlChar له التعريف التالي:

typedef unsigned char xmlChar;

وأود لlibxml لتفسير كل حرف ك 2 بايت.

ولدي شعور بأن التالية لن تعمل بشكل صحيح مع ليب:

typedef unsigned short xmlChar;

ملحوظة: أنا لا أتحدث عن عندما في الواقع يقرأ / يكتب ترميز أكس. وأنا أعلم أن تدعم يونيكود. ما أريده هو للواجهة في ليب ليكون مع سلاسل يونيكود wstring بدلا من السلاسل العادية.

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

المحلول

ولقد وجدت الإجابة في صلة التي تقدمهاMitch القمح

وأنت لا يمكن إعادة تعريف xmlchar أن يكون غير موقعة قصيرة. ولكن إذا كنت تشفير سلاسل ك UTF-8 ثم سوف xmlChar التعامل مع يونيكود بشكل صحيح.

ويمكنك تحويل سلسلة في النوافذ لUTF8 خلال الاتصال WideCharToMultiByte مع معلمة من CP_UTF8

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