في الآونة الأخيرة ، أعمل على هذا الشيء ولا يمكنني العثور على أي أشياء متعلقة بـ ASP عبر الإنترنت. إذا كان شخص ما يجعله مبكرًا جدًا ، فلا تمزح. استغرق الأمر وقتًا طويلاً لإنجازه أخيرًا ؛
المبدأ: استخدم كائن الدفق لقراءة أول وحدات بايت للملف ، وتحليل وتحديد ترميز UTF-8 ، و Unicode ، و ANSI (نظام التشغيل الصيني المبسط ، أي GB2312)
المعلومات ذات الصلة:
ANSI: تعريف غير منافس ؛
يونيكود: أول بايتان هما fffe ؛
Unicodebigendian: أول بايتان هما Feff ؛
UTF-8: أول بايتان هما EFBB ؛
انسخ الرمز على النحو التالي: FunctionCheckCode (Path)
setObjStream = server.createBject ("Adodb.stream")
objstream.type = 1
objstream.mode = 3
objstream.Open
objstream.position = 0
objstream.loadfromfilepath
bintou = objstream.read (2)
IFASCB (MIDB (Bintou ، 1،1)) = & Hefandascb (MIDB (Bintou ، 2،1)) = & hbbthen
CheckCoder = "UTF-8"
elseifascb (midb (bintou ، 1،1)) = & hffandascb (midb (bintou ، 2،1)) = & hfethen
CheckCode = "Unicode"
آخر
CheckCode = "GB2312"
Endif
objstream.close
setObjStream = لا شيء
الوظيفية
التجديد:
ذكّر Xie Xiaoyu أن السابق كان مجرد هراء ؛ يتم تعريف الترميز المحلي لـ ANSI من قبل كل بلد نفسه ، ولا يوجد تنسيق رأس ملف ثابت. في ظل نظام التشغيل الصيني الصيني ، يكون GB2312 قابل للقراءة ، وتحت أنظمة اللغة الأخرى ، يتم تشويهه ، لذلك ليست هناك حاجة لتمييز هذا الجزء بالتفصيل.
احصل على ترميز الملف ، ويمكن فتح دفق الدفق حسب الترميز المطلوب ، ولن يكون هناك رمز مشوه.