Mungkin bermanfaat untuk menjelaskan cara kerja file di level terendah:
File adalah aliran byte, panjangnya nol atau lebih. Satu byte adalah 8 bit. Karena ada 256 kombinasi 8 bit, itu artinya byte adalah angka dari 0 hingga 255. Jadi setiap file, pada level terendah, sebongkah besar angka mulai dari 0 hingga 255.
Ini sepenuhnya tergantung pada program dan pengguna untuk memutuskan apa arti angka "." Jika kita ingin menyimpan teks, maka mungkin ide yang baik untuk menggunakan angka sebagai kode, di mana setiap angka diberi huruf. Itulah yang dilakukan ASCII dan Unicode. Jika kita ingin menampilkan teks, maka itu mungkin ide yang baik untuk membangun perangkat atau menulis program yang dapat mengambil angka-angka ini dan menampilkan bitmap yang tampak seperti kode ASCII / Unicode yang sesuai. Itulah yang dilakukan terminal dan emulator terminal.
Tentu saja, untuk grafis, kami mungkin ingin angka mewakili piksel dan warnanya. Maka kita akan membutuhkan program yang menelusuri file, membaca semua byte, dan membuat gambar sesuai. Terminal emulator mengharapkan byte menjadi nomor ASCII / Unicode dan akan berperilaku berbeda, untuk potongan byte yang sama (atau file).