เมื่อวันที่ 11 เมษายน 2552 ฉันได้ติดตั้งโค้ดเรียบร้อยแล้ว แต่ฉันไม่เคยมีเวลาเขียนบทความนี้เลย ฉันจึงใช้เวลาในวันนี้เพื่อชดเชยบทความนี้ และสำหรับผู้ที่ชื่นชอบ ASP ของเรา มอบซุปแสนอร่อยมาเติมด้วย ช่องว่างในการแปลงการเข้ารหัส ASP ความเป็นมาของบทความ:
วันหนึ่ง เพื่อนร่วมงานของฉันแสดงบทความเกี่ยวกับ CSDN เกี่ยวกับการจัดอันดับภาษาการเขียนโปรแกรมให้ฉันดู ฉันเห็นว่า VB มีอันดับดีมาก ฉันจึงพูดว่า asp (vbscript) ค่อนข้างดีจริงๆ เป็นผลให้เขาปฏิเสธฉันและบอกว่า ASP ไม่ดีและหลายสิ่งหลายอย่างยากที่จะบรรลุ ฉันพูดอะไร? ฉันได้พัฒนา ASP มาหลายปีแล้วและไม่พบสิ่งใดที่ยากต่อการนำไปใช้ เว้นแต่จะอยู่ภายในขอบเขตของภาษาที่ไม่ใช่สคริปต์ เช่น แอปพลิเคชันแบบมัลติเธรด (แน่นอนว่า ASP ยังสามารถจำลองงานแบบมัลติเธรดได้เช่นกัน) เป็นต้น เป็นผลให้เขาพูดคุยเกี่ยวกับมัลติเธรด การแปลงโค้ด ฯลฯ เขาบอกว่าเขาใช้ความพยายามอย่างมากในการแปลงโค้ดโดยไม่ประสบความสำเร็จ ดังนั้นเขาจึงรู้สึกว่า ASP นั้นอ่อนแอเกินไป เมื่อได้ยินเช่นนี้ เรารู้ว่าพื้นฐานการเขียนโปรแกรมของเขายังไม่แข็งแกร่งพอ และความรู้เกี่ยวกับ ASP ของเขามีจำกัดมาก (และต่อมาเขาบอกว่าเขาไม่รู้จักหรือใช้วัตถุพื้นฐานหลายอย่างของ ASP ที่ใช้กันทั่วไป ฉันแทบจะเป็นลม ในอดีต - ฉันยังไม่เคยใช้สิ่งนี้มาก่อนและบอกฉันว่า ASP นั้นอ่อนแอ ดูเหมือนว่า... ฉันแก่มากแล้ว ฉันไม่เข้าใจว่าไม่มีพื้นฐานและไม่มีสิทธิ์ที่จะพูด! ฮ่าๆ...) ด้วยความโมโห ฉันจึงตระหนักถึงปัญหาของการเข้ารหัส ASP การกลับใจใหม่ร่วมกันในสุดสัปดาห์นี้ ให้เขาเห็นว่า ASP คืออะไร เขาดูถูก ASP มากจริงๆ แน่นอนว่างานวิจัยของฉันก็เติมช่องว่างในการวิจัยเกี่ยวกับการแปลงการเข้ารหัสในการพัฒนา ASP ด้วย!
ตอนนี้ เรามาทำความเข้าใจกับกระบวนการเข้ารหัสของข้อความกันดีกว่า หากเราต้องการแปลงการเข้ารหัสของข้อความ เราจำเป็นต้องทราบชุดการเข้ารหัสที่สอดคล้องกับข้อความปัจจุบัน จากนั้นจึงใช้การเข้ารหัสที่เกี่ยวข้อง กำหนดให้อ่านได้ นี่คือหลักฐานว่าการเข้ารหัสถูกแปลงอย่างถูกต้อง (หากขั้นตอนนี้ผิดโค้ดที่แปลงจะเป็นชุดของโค้ดที่อ่านไม่ออก)! โอเค หลังจากค้นหาการเข้ารหัสปัจจุบันและอ่านอย่างถูกต้องแล้ว เราสามารถใช้ออบเจ็กต์ Stream พร้อมชุดการเข้ารหัสเป้าหมายเพื่อบันทึกเนื้อหาลงในไฟล์ที่ระบุ ณ จุดนี้ การแปลงการเข้ารหัสของเราสำเร็จแล้ว!
มาดูการใช้งานโค้ดเฉพาะของการแปลงการเข้ารหัส asp:
คัดลอกรหัสรหัสดังต่อไปนี้:
'แปลงเนื้อหาที่เข้ารหัส เนื้อหาที่จะแปลง, การเข้ารหัสเป้าหมาย cset, เส้นทางสัมบูรณ์ของไฟล์เป้าหมายปลายทาง
ฟังก์ชั่น TransferCharSet (เนื้อหา, cset, ปลายทาง)
ดิม ออบสตรีม
ตั้งค่า Objstream = Server.CreateObject(adodb.stream)
objstream.Mode =3
objstream.Charset = cset
objstream.Type = 2
objstream.เปิด
objstream.WriteTextเนื้อหา
objstream ตำแหน่ง = 0
objstream.SaveToFile ปลายทาง2
objstream.ปิด
ตั้ง objstream = ไม่มีเลย
ฟังก์ชันสิ้นสุด
'อ่านเนื้อหาที่ระบุโดยใช้การเข้ารหัสที่เกี่ยวข้อง
ฟังก์ชั่น getcontent (เส้นทาง)
ดิม ออบสตรีม
ตั้งค่า Objstream = Server.CreateObject (Adodb.Stream)
objstream.Charset = GetCharSetName (เส้นทาง)
objstream.Type = 2
objstream.Mode =3
'objstream.Charset = รหัส
objstream.เปิด
เส้นทาง Objstream.LoadFromFile
objstream ตำแหน่ง = 0
getcontent = objstream.ReadText
objstream.ปิด
ตั้ง objstream = ไม่มีเลย
ฟังก์ชันสิ้นสุด
'รับชื่อการเข้ารหัสของเนื้อหาที่ระบุ
ฟังก์ชัน GetCharSetName (เส้นทาง)
ตั้งค่า objstream=server.createobject(Adodb.Stream)
objstream.Type=1
objstream.mode=3
objstream.เปิด
objstream.ตำแหน่ง=0
เส้นทาง objstream.loadfromfile
bintou=objstream.read(2)
ถ้า AscB(MidB(bintou,1,1))=&HEF และ AscB(MidB(bintou,2,1))=&HBB แล้ว
GetCharSetName=utf-8
ElseIf AscB(MidB(bintou,1,1))=&HFF และ AscB(MidB(bintou,2,1))=&HFE แล้วก็
GetCharSetName=ยูนิโค้ด
อื่น
GetCharSetName=gb2312
สิ้นสุดถ้า
objstream.ปิด
ตั้งค่า objstream=nothing
ฟังก์ชันสิ้นสุด
โอเค หลังจากโค้ดชิ้นนี้ งานการแปลงของเราก็เสร็จสมบูรณ์! ฉันหวังว่าบทความนี้จะให้ความช่วยเหลือและแรงบันดาลใจแก่ผู้ที่ชื่นชอบ ASP และผู้สนใจภาษาอื่นๆ ได้
สุดท้ายนี้สิ่งที่อยากบอกก็คือการเรียนรู้และการใช้ภาษาโปรแกรมนั้นไม่ใช่เรื่องยาก สิ่งสำคัญคือ การใช้สมองให้มากขึ้น และคิดว่าจะใช้งานฟังก์ชั่นที่ต้องการอย่างไร แทนที่จะโทษคนอื่นแล้วบอกว่าภาษานั้นคือ อ่อนแอเกินไป
ฉันหวังว่าคุณทุกคนจะมีความสุขในการเขียนโปรแกรม ฉันจะเขียนเกี่ยวกับการแปลงการเข้ารหัสของ asp ที่นี่ ฉันจะเผยแพร่บทความต้นฉบับส่วนตัวที่น่าตื่นเต้นมากขึ้นในอนาคต ขอบคุณทุกคน!