Збереження "Буша приховав факти" в блокноті


54

Зберігаючи текст "Буш приховував факти" в блокноті під Windows XP, як же при повторному відкритті він показує квадрати замість тексту?

Я бачив це у цьому відео, якщо вам потрібен приклад

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


28
До речі, це однаково для будь-якої послідовності 4-3-3-5 букв, не тільки цієї.
grawity

15
Приклад: "Іван їв бекон"
Трогі

Відповіді:


93

Це пов’язано з проблемою функції Win32 API IsTextUnicode, що починається з Windows NT 3.5. Якщо файл кодується в ANSI, функція буде інтерпретувати його як UTF-16LE, що призводить до нечитабельних символів.

Це мене також зачарувало, коли я виявив це, оскільки я був молодим і наївним, я вважав, що це фактична змова :)

Про це насправді є стаття у Вікіпедії, яку ви можете знайти тут .


17
Цікаво. +1 для статті Wiki, яка навчила мене слова "mojibake" та його особливо мета попередження про те, що "без належної підтримки, ви можете побачити знаки запитань, скриньки чи інші символи ..." :-)
jtb

3
+1, тому що, незважаючи на те, що я використовую Windows, скільки я пам'ятаю, я якось ніколи цього не стикався!
Джаред Харлі

7
Ну, це явно помилка, тому що програмне забезпечення неправильно. Найкраще, що ви можете заперечити, - такі помилки неможливо усунути без втрати інших функціональних можливостей. І, чорт забираю, Microsoft виправила це у Vista [за даними Wiki], тому хтось там, очевидно, подумав, що це теж помилка.
Джон Фугі,

11
Це не помилка, якщо вона робить саме те, що рекламує (тобто документує). Точно вказано, що це статистичний тест і не є надійним, і чим коротше введення, тим вище показник помилок. Просто так буває, що в цьому випадку це відбувається із реченням, яке має сенс для людини. Це речення не працює з Vista & 7, оскільки реалізація IsTextUnicode була змінена та, імовірно, вдосконалена, і тепер вона звітує правильно про це речення. У нас є кращі або гірші помилкові позитивні / негативні показники, а не помилки.
КТК

5
"Це не помилка, якщо вона робить те, що належить". Так, можливо, технічним терміном є "недолік дизайну" чи щось таке, але я думаю, що більшість людей все одно скажуть, що це нормально, щоб називати це помилкою.
дав
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.