You need to join this project to post message / question. See Help for details.
Byte-order mark¶
Ref: #541
- Đối với các tập tin dùng bảng mã Unicode 16 hoặc 32 bit, đầu tập tin sẽ chèn ký tự
BOM(byte-order mark) để phân biệt cấu trúc lưu trữ của tập tin. Khi các chương trình đã đọc được ký tựBOMnày rồi thì ký tự đó trở nên vô nghĩa. - Đối với các tập tin dùng UTF-8, nhiều chương trình trên Windows cũng chèn thêm ký tự
BOM, có mã thập lục phân làEF BB BF(mà các chương trình thể hiện ở dạng.)- Mục đích của việc thêm không có ý nghĩa nhận dạng như trường hợp Unicode 16 bit hay 32bit, mà để chỉ rõ hơn tập tin là UTF-8
- Việc thêm này là chấp nhận được, nhưng không được khuyến khích, vì lý do là các tập tin UTF-8 có sử dụng
BOMcó thể không được xử lý đúng trên các hệ thống Unix/Linux - Cụ thể, các tài liệu TeX UTF-8 có
BOMcó thể được biên dịch bình thường trênWindows, nhưng không thể biên dịch trên Linux (và thậm chí không thể biên dịch với TeXMaker trên Windows).
- Việc xem được ký tự lạ
trong Notepad (Windows) thật sự là do đã mở tài liệu trongNotepadsử dụng bảng mãANSI. Nếu khi mở tập tin trong Notepad, chọn bảng mãUTF-8sẽ không thấy xuất hiện ký tự lạ đó nữa - Một số editor không xử lý được
BOM/UTF-8, khi đó, bạn phải tìm cách xóa chúng đi (có nhiều editor khác nhau hỗ trợ việc này, ví dụ Geany, Notepad++). Hoặc sử dụng các chương trình chỉnh tập tin theo kiểu nhị phân (hexedit) để xóa điBOM.