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

المحلول

وANSI هي الصفحة الرموز Windows ANSI الحالية، أي ما يعادل Encoding.Default.

وOEM هو الشفرة OEM الحالية التي تستخدم عادة من قبل تطبيقات وحدة التحكم.

ويمكنك الحصول على هذه باستخدام:

Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage)

في تطبيق وحدة التحكم، سوف يكون ترميز OEM متاح أيضا باستخدام

Console.OutputEncoding

نصائح أخرى

وهذا هو حقا، حقا القديم. ODBC تعود إلى العصر الحجري، والعودة عند بدء تشغيل Windows خلفا لMS-DOS. في ذلك الوقت، الكثير من النص ما زال ترميز في مجموعة الأحرف IBM-PC الأصلي، واسمه "مجموعة الأحرف تصنيع المعدات الأصلية" من قبل Microsoft. وكان مجموعة IBM-PC القياسية بعض الأحرف المحركة ورموزا الرسومات الزائفة في النصف العلوي، رموز 0x80-0xff.

ومحدودة جدا لإخراج النص بلغات غير الإنجليزية، التي Microsoft باستخدام صفحات الرموز، نطاقات الطابع رموزا مناسبة لمجموعة لغوية معينة. مجموعة اللغة الإنجليزية الأمريكية من الشخصيات وموحدة من قبل ANSI، والآن تعلق تلك التسمية (غير صحيح) إلى أي غير OEM الشفرة.

لا أحد بترميز النص في شخصية OEM وضع بعد الآن، وذهب في طريق طائر الدودو قبل 10 سنوات على الأقل. الإعداد الصحيح هنا هو ANSI. والحفاظ على أصابعك عبرت وراء ظهرك أن صفحة الرموز المستخدمة لتشفير النص مباريات صفحة الرموز الافتراضية النظام الخاص بك. هذا دودو جدا، يونيكود حلها.

والإجابة المختصرة على سؤالك، وليس هناك علاقة مباشرة.

وكلما طال نسخة:
CharacterSet لملف "Schema.ini" يمكن أن تكون إما ANSI أو OEM.
ANSI و ASCII تشير إلى شيء مختلف.

ويمكنك قراءة المزيد من هنا:
فهم ASCII وأحرف ANSI
ASCII مقابل ترميز ANSI اليكس هوفمان

ومن فهمي، CharacterSet = ANSI ما يعادل <لأ href = "http://msdn.microsoft.com/en-us/library/system.text.encoding.default(VS.71).aspx" يختلط = "noreferrer نوفولو"> Encoding.Default . OEM يمكن ASCIIEncoding ذلك الحين.

ومع ذلك، يستخدم ANSI صفحة الرموز نظام ANSI، لذلك قد تنشأ عدم التوافق إذا تم الوصول إلى الملف نفسه من أجهزة الكمبيوتر مع صفحات الرموز مختلفة.

ولقد قمت بتجميع إشارة بلدي من أجل التبديل بين اثنين:

Windows code page       Name            System.Text.Encoding    schema.ini CharacterSet
20127                   ASCII (US)      ASCII                   20127
1252                    ANSI Latin I    Default                 ANSI
65001                   UTF-8           UTF8                    65001
1200                    UTF-16 LE       Unicode                 Unicode
1201                    UTF-16 BE       BigEndianUnicode        1201
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top