El Sanchez
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: внукам на ночь рассказываю | pressF, кодовая страница CP65001 соответствует кодировке UTF-8. Сам принцип кодовых страниц устарел и такое соответствие нужно для обратной совместимости со старыми приложениями, использующих кодовые страницы вместо кодировок в своей работе. Теперь почему крякозябры видите. Т.к. скрипт в UTF-8, то интерпретатор на вход получит последовательность UTF-8 байтов тела скрипта. UTF-8 многобайтовая кодировка, символы кириллицы, например, будут кодироваться 2-мя байтами, а без задания cp65001 интерпретатор будет последовательность байтов в умолчальной кодировке OEM866 обрабатывать, а это однобайтовая кодировка. Это означает, что 2 байта какого-нибудь одного кириллического символа в кодировке UTF-8, будут трактоваться как 2 однобайтовых символа в кодировке OEM866. Например, слово "Открыть" в кодировке UTF-8 имеет такую последовательность байтов: d0 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c Теперь каждый байт последовательности в кодировку OEM866 переведите: d0 - <тут символ псевдографики>, 9e - Ю, d1 - <тут символ псевдографики>, 82 - В и т.д. С основной латиницей ничего не происходит потому, что символы и так однобайтовые и их коды 00-7F одинаковы во всех(изм. не, вру) кодовых станицах. | Всего записей: 490 | Зарегистр. 23-12-2008 | Отправлено: 10:54 01-04-2023 | Исправлено: El Sanchez, 11:06 01-04-2023 |
|