เมื่อเร็ว ๆ นี้ฉันกำลังทำสิ่งนี้และฉันไม่พบสิ่งที่เกี่ยวข้องกับ ASP ออนไลน์ ถ้ามีคนทำมันเร็วมากอย่าตลก ในที่สุดก็ใช้เวลานานกว่าจะทำให้เสร็จ
หลักการ: ใช้วัตถุสตรีมเพื่ออ่านสองไบต์แรกของไฟล์วิเคราะห์และกำหนดการเข้ารหัสของ UTF-8, Unicode และ ANSI (ระบบปฏิบัติการภาษาจีนง่ายๆเช่น GB2312)
ข้อมูลที่เกี่ยวข้อง:
ANSI: คำจำกัดความที่ไม่ได้ฟอร์ม;
Unicode: สองไบต์แรกคือ fffe;
Unicodebigendian: สองไบต์แรกคือ feff;
UTF-8: สองไบต์แรกคือ EFBB;
คัดลอกรหัสดังต่อไปนี้: FunctionCheckCode (พา ธ )
setObjstream = server.createObject ("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 = ไม่มีอะไร
endfunction
เติมเต็ม:
Xie Xiaoyu เตือนว่าก่อนหน้านี้เป็นเรื่องไร้สาระ การเข้ารหัส ANSI ในท้องถิ่นนั้นถูกกำหนดโดยแต่ละประเทศและไม่มีรูปแบบส่วนหัวไฟล์คงที่ ภายใต้ระบบปฏิบัติการจีนแผ่นดินใหญ่สามารถอ่านได้ GB2312 และภายใต้ระบบภาษาอื่น ๆ มันถูกอ่านไม่ออกดังนั้นจึงไม่จำเป็นต้องแยกแยะรายละเอียดส่วนนี้
รับการเข้ารหัสไฟล์และสตรีมสตรีมสามารถเปิดได้ตามการเข้ารหัสที่ต้องการและจะไม่มีรหัสที่อ่านไม่ออก