Я сохранил файл в блокноте, и я получил предупреждающее сообщение о том, что файл содержит unicode, который не сохранил бы корректно как ansi. Я не видел никаких символов, которые были бы проблемой, поэтому я открыл файл в консоли и нашел эти случайные символы в тексте. Они вообще не видны в блокноте. Даже пространство, которое они занимают в консоли, отсутствует в блокноте. Ниже я опубликовал снимок экрана в блокноте и в консоли. Что происходит?unicode не отображается в блокноте, но отображается в консоли
блокнота
консоли
Очень полезно, спасибо большое. Мне нужно сесть и действительно познакомиться с различными типами кодирования. Есть ли относительно простой способ увидеть байты UTF-8 в редактируемом формате, чтобы я мог их редактировать? Они разрушают мою программу. – jana
@jana, вы можете легко написать программу, чтобы удалить их. Просто отбросьте любой байт, который не имеет значения от 0 до 127. –
@jana: Я использую [WinVi] (http://www.winvi.de/en/), который является текстовым редактором, в шестнадцатеричном редакторе и поддерживает кодировки UTF-8 и UTF-16. Таким образом, вы можете загрузить в него файл UTF-8, переключиться на шестнадцатеричное представление, удалить оскорбительные байты и затем снова сохранить файл как UTF-8. Вы даже можете переключить текстовое представление на Ansi, чтобы байт UTF-8 выглядел визуально, как это делает консольное окно. –