Tôi không muốn giải thích dữ liệu của mình theo bất kỳ cách mã hóa cụ thể nào. Nói cách khác, khi tôi đang trong vim, tôi muốn nhân vật mà con trỏ của tôi là tương ứng với thực tế byte, không phải là một utf * (vv) đại diện của byte đó.Cách lấy vim để hiển thị biểu diễn từng byte của dữ liệu tệp
Tôi cần sử dụng vim để phân tích các vấn đề gây ra bởi lỗi chuyển đổi Unicode do người khác thực hiện (sử dụng phần mềm khác) vì vậy điều quan trọng là tôi thấy những gì thực sự ở đó.
Ví dụ, trong vim Cygwin, tôi đã có thể nhìn thấy UTF-8 BOMs như
ï »¿[BẮT ĐẦU FILE DỮ LIỆU]
này là hoàn hảo. Tôi nhận ra điều này là một UTF-8 BOM và nếu tôi muốn biết hex của mỗi ký tự là gì, tôi có thể đặt con trỏ lên các ký tự và sử dụng 'ga'.
Gần đây tôi đã có một máy Linux thích hợp (Fedora). Trong/etc/vimrc, dòng này tồn tại
bộ fileencodings = UCS-bom, utf-8, latin1
Khi tôi nhìn vào một BOM UTF-8 trên máy tính này, HÐQT là hoàn toàn ẩn.
Khi tôi thêm dòng sau vào ~/vimrc
bộ fileencodings = latin1
tôi thấy
AA »Â¿
3 ký tự đầu tiên là BOM (khi ga được sử dụng để chống lại chúng). Tôi không biết 3 ký tự cuối cùng là gì.
Tại một thời điểm, tôi thậm chí còn thấy UTF-8 BOM được biểu thị là "feff" - bảng UTF-16.
Dù sao, bạn thấy vấn đề của tôi. Tôi cần phải xem chính xác những gì có trong tập tin của tôi mà không có vim giải thích các byte cho tôi. Tôi biết tôi có thể sử dụng xxd, od, vv nhưng vim luôn luôn rất thuận tiện như một công cụ phân tích. Plus Tôi muốn có thể chỉnh sửa các tập tin và lưu chúng mà không có bất kỳ vấn đề chuyển đổi.
Cảm ơn sự giúp đỡ của bạn.
Tâm trí bạn: bất cứ khi nào ai đó viết, nói hoặc thậm chí nghĩ "UTF-8 BOM", một con mèo bị giết. – zzzz