Giải mã các ký tự lạ trong tệp văn bản


1

Ai đó đã gửi cho tôi một tập tin văn bản. Mặc dù tôi có thể đọc hầu hết các tài liệu, đôi khi có những nhân vật khác thường. Khi tôi mở nó trong VIM, tôi thấy <92> ở vị trí của nó. Khi tôi sử dụng gedit, tôi thấy một nhân vật trông giống như một hình vuông có hai số không và 9 và 4 trong hình vuông.

Có cách nào để giải mã những nhân vật ngộ nghĩnh này trở lại tương đương với con người có thể đọc được không?

Tôi cũng đã chạy như sau trong shell:

johncomputer> file --mime-encoding file.txt
johncomputer> file.txt: : utf-8

Vì tôi nghĩ đó là mã hóa utf8.

Ồ và cũng vậy, đây là một tài liệu văn bản nơi hầu hết các nhân vật đều có thể đọc được. Chỉ một số (không phải tất cả) các nhân vật có dấu đang hiển thị kỳ lạ.


Bạn có biết mã hóa nào đã được sử dụng để lưu tệp văn bản không?
xxbbcc

Tôi nghĩ đó là utf8
John

Bạn có thể muốn xem các từ đầu tiên và cuối cùng trong tệp txt của bạn. Có thể có một số gợi ý về loại tệp. Chẳng hạn, các tệp png sẽ có một cái gì đó giống như ‰PNGlúc ban đầu, một tệp jpeg tôi đã mở có ÿØÿà JFIFở đầu, v.v.
Jerry

Nếu bạn nghĩ vậy, hãy thử sử dụng một trình soạn thảo khác - Notepad ++ hoặc Notepad của Lập trình viên trên Windows (Tôi không biết VIM / Linux). Nếu bạn chắc chắn đây là tệp văn bản (không phải định dạng tệp khác) và mã hóa là UTF-8, một trong số đó sẽ có thể hiển thị nội dung chính xác. Xin lưu ý rằng ngay cả khi đó, có thể có một số ký tự không thể hiển thị và phông chữ được sử dụng bởi trình chỉnh sửa cũng có thể giới hạn các ký tự có thể được hiển thị trên màn hình. Đây thường là một hạn chế của các cửa sổ điều khiển.
xxbbcc

Nếu bạn thấy <92>, đó chắc chắn không phải là UTF-8.
grawity

Câu trả lời:


5

Các tỷ lệ cược là những gì bạn thấy là <92> và <94> là các dấu nháy đơn Windows-1252 được mã hóa thông minh (xoăn) và dấu ngoặc kép thông minh đúng. Tất nhiên, chúng có thể là bất cứ thứ gì, nhưng trong UTF-8, các byte như vậy không thể xuất hiện dưới dạng độc lập của LINE, chỉ là byte thứ 2 hoặc mới hơn của biểu diễn nhiều byte của một ký tự,


1

Bạn có biết bảng mã được sử dụng bởi người đã gửi tệp cho bạn không? Ngôn ngữ chính của họ là gì?

Trong Vim, bạn có thể tải lại tệp bằng cách sử dụng mã hóa khác bằng lệnh

:e ++enc=cpXXX

Liên kết đến mẹo vim có liên quan


Tôi không biết làm thế nào họ tạo ra tài liệu văn bản này. Họ chỉ gửi email cho tôi. Tôi đã thử lệnh VIM, nhưng dường như điều đó không ảnh hưởng đến tài liệu. Tôi sẽ thấy <92>
John

Nếu tệp thực sự là UTF-8, lệnh này sẽ hiển thị :e ++enc=utf8một vài cái khác để thử sẽ là utf16 và ucs2
Jimbo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.