Tiết kiệm được Bush Bush che giấu sự thật.


54

Khi lưu văn bản "Bush giấu sự thật" trong notepad trong Windows XP, tại sao khi bạn mở lại, nó hiển thị hình vuông thay vì văn bản?

Tôi đã thấy nó trong video này nếu bạn cần một ví dụ

http://www.youtube.com/watch?v=9bK9-sc_uus&feature=related


28
Nhân tiện, nó giống nhau cho bất kỳ chuỗi 4-3-3-5 chữ cái nào, không chỉ cái này.
grawity

15
Ví dụ: "John ăn thịt xông khói"
Troggy

Câu trả lời:


93

Điều này là do sự cố với chức năng API Win32 IsTextUnicode có từ Windows NT 3.5. Nếu một tệp được mã hóa trong ANSI, hàm sẽ hiểu nó là UTF-16LE dẫn đến các ký tự không thể đọc được.

Điều này đã cuốn hút tôi trở lại khi tôi phát hiện ra nó từ khi tôi còn trẻ và ngây thơ, tôi nghĩ đó là một âm mưu thực sự :)

Thực sự có một bài viết Wikipedia về điều này bạn có thể tìm thấy ở đây .


17
Hấp dẫn. +1 cho bài viết Wiki đã dạy tôi từ "mojibake" và cảnh báo meta đặc biệt của nó rằng "không có hỗ trợ kết xuất phù hợp, bạn có thể thấy các dấu hỏi, hộp hoặc các ký hiệu khác ..." :-)
jtb

3
+1 bởi vì, mặc dù sử dụng Windows miễn là tôi có thể nhớ, nhưng bằng cách nào đó tôi không bao giờ gặp phải điều này!
Jared Harley

7
Vâng, đó rõ ràng là một lỗi, bởi vì phần mềm không chính xác. Điều tốt nhất bạn có thể tranh luận là các lỗi như thế này là không thể loại bỏ mà không làm mất chức năng khác. Và, chết tiệt, Microsoft đã sửa nó trong Vista [theo Wiki], vì vậy ai đó rõ ràng cũng nghĩ đó là một lỗi.
John Fouhy

11
Nó không phải là một lỗi nếu nó thực hiện chính xác những gì nó quảng cáo (tức là tài liệu) để làm. Nó được chỉ định chính xác rằng đó là một thử nghiệm thống kê và không thể đánh lừa được, và đầu vào càng ngắn thì tỷ lệ lỗi càng cao. Nó chỉ xảy ra rằng trong trường hợp này, nó xảy ra với một câu có ý nghĩa với con người. Câu đặc biệt này không hoạt động với Vista & 7 vì việc triển khai IsTextUnicode đã được thay đổi và có lẽ được cải thiện và hiện tại nó báo cáo chính xác cho câu này. Những gì chúng ta có là tỷ lệ dương / âm tốt hơn hoặc xấu hơn, không phải là lỗi.
KTC

5
"Nó không phải là một lỗi nếu nó làm những gì nó phải làm." Vâng có thể thuật ngữ kỹ thuật là 'lỗi thiết kế' hoặc một cái gì đó, nhưng tôi nghĩ hầu hết mọi người vẫn sẽ nói rằng nó ổn khi gọi nó là một lỗi.
davr
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.