จริงๆแล้ว text file คือ file ที่มีโครงสร้างการจัดเก็บข้อมูล เป็นบรรทัดๆ โดยแต่ละบรรทัดจะมีตัวปิดบรรทัด (end of line) และเมื่อจบ file อาจมีตัวปิด file (end of file) ปิดท้ายด้วยก็ได้ ส่วน binary file ก็คือ file ที่ไม่ใช่ text file
end of line กับ end of file ใน text file มันจะไม่เหมือนกันในแต่ละ OS Unix, Linux, Mac OS X (ซึ่งเป็น Free BSD) ใช้ LF (0x0A) เป็น end of line DOS, Windows, OS/2, CP/M, Symbian ใช้ CRLF (0x0D+0x0A) เป็น end of line Apple กับ Mac รุ่นเก่าใช้ CR (0x0D) เป็น end of line ส่วน end of file เท่าที่ทราบจะมีเฉพาะ DOS โดยใช้ ^Z (0x1A) และจะใส่หรือไม่ใส่ก็ได้
ในเมื่อมีความไม่เหมือนกันในแต่ละ OS เวลาทำ file transfer ก็เลยต้องมีการ convert ให้ถูกต้องในแต่ละ OS ด้วย โปรแกรมอย่าง winscp มี feature ช่วยจำว่า extension หรือ file pattern ไหนเป็น text file ทำให้เกิดความสะดวกในการทำงาน กดส่งอย่างเดียวเลย แต่ก็ไม่แน่เสมอไป ตัวอย่างเช่น .dat อาจเป็น video file ซึ่งเป็น binary file หรือเป็น file ข้อมูลซึ่งเป็น text file ธรรมดา ขึ้นอยู่ว่าเราเก็บอะไรอยู่
นอกจากเรื่องน้องที่ทำงานแล้ว หลายปีก่อนผมเคยเห็นบริษัทเอกชนขนาดใหญ่รายหนึ่ง ใช้ software สำหรับช่วยในการติดตั้ง (install) ซึ่งจะทำการ transfer ตัว setup ที่ใช้ในการ install ออกไปยัง pc ทั่วประเทศ ใช้เวลาหลายวันในการ transfer แต่ละครั้งเพราะต้องทำตอนเลิกงานหรือตอนกลางคืน software ตัวนี้เขียนขึ้นมาให้ใช้ได้กับหลาย Platform/OS เลยต้องระบุว่า file แต่ละ file เป็น text หรือ binary แล้วคนทำ file transfer ทำผิดโดยระบุว่า setup.exe เป็น text file เสียเวลา transfer ไปหลายวันค่อยรู้ว่า install ไม่ได้ ต้องมาเริ่ม transfer กันใหม่
อย่าลืม เวลาทำ file transfer ต้องระบุว่าเป็น text หรือ binary ให้ถูกต้องนะครับ
EOF เป็นส่ิงสมมติที่ OS สร้างขึ้นมาเพื่อสื่อสารกับ Application ไม่มีทางที่เราจะใส่ EOF ไว้ในเนื้อไฟล์ได้เลย ไม่ว่าจะเป็น Window, Linux, Mac OS X หรือแม้กระทั่ง DOS
มาอ่าน ๆ ๆ ๆ