ในแอปพลิเคชันของเราเราได้รับไฟล์ข้อความ ( .txt
, .csv
และอื่น ๆ ) จากแหล่งข้อมูลที่หลากหลาย เมื่ออ่านบางครั้งไฟล์เหล่านี้มีขยะเพราะไฟล์ที่สร้างขึ้นในเพจรหัสที่ไม่รู้จัก / ที่ไม่รู้จัก
มีวิธีการ (โดยอัตโนมัติ) ตรวจจับเพจรหัสของไฟล์ข้อความหรือไม่?
detectEncodingFromByteOrderMarks
บนStreamReader
คอนสตรัค, ทำงานสำหรับUTF8
Unicode และทำเครื่องหมายไฟล์อื่น ๆ แต่ฉันกำลังมองหาวิธีที่จะตรวจสอบโค้ดเพจเช่น,ibm850
windows1252
ขอบคุณสำหรับคำตอบนี่คือสิ่งที่ฉันทำ
ไฟล์ที่เราได้รับมาจากผู้ใช้ปลายทางพวกเขาไม่มีเงื่อนงำเกี่ยวกับเพจรหัส ผู้รับยังเป็นผู้ใช้ปลายทางโดยตอนนี้เป็นสิ่งที่พวกเขารู้เกี่ยวกับเพจรหัส: มีเพจโค้ดอยู่และน่ารำคาญ
สารละลาย:
- เปิดไฟล์ที่ได้รับใน Notepad ดูข้อความที่อ่านไม่ออก ถ้าใครบางคนถูกเรียกว่าFrançoisหรืออะไรบางอย่างด้วยความฉลาดของมนุษย์คุณสามารถเดาได้
- ฉันได้สร้างแอพเล็ก ๆ ที่ผู้ใช้สามารถใช้เพื่อเปิดไฟล์ด้วยและป้อนข้อความที่ผู้ใช้รู้ว่ามันจะปรากฏในไฟล์เมื่อใช้เพจรหัสที่ถูกต้อง
- วนรอบเพจรหัสทั้งหมดและแสดงรายการที่ให้การแก้ไขกับข้อความที่ผู้ใช้ให้ไว้
- หากมีเพจเพจมากกว่าหนึ่งเพจปรากฏขึ้นขอให้ผู้ใช้ระบุข้อความเพิ่มเติม