bomzz
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подробнее... вот такая полезняшка. позволяет сравнивать два utf файла через их отражение в 866 кодировке при сравнении двух юникодных файлов через отражение в 866 кодировку, выявилась неожиданная проблема, батник работает с юникодом как просто с набором байтов, и разрезая строку по знаку, оставляет в конце мусор от широкого юникодного кода, которые не виден но тем не менее требует обрезки на 1 знак. когда мусор нулевой он не сильно мешает, а когда не нулевой, парит моск невидимый знак. ошибка со стороны cmd, ничего не поделать. возвращаемое значение число знаков вывода для использования find и findstr для работы с utf файлами Цитата: for /f "delims=*" %%i in ('^(echo "%%b"^)^|utf8to866.exe') do set "_out=%%i" set "_out=%_out:~1,-2%" | один знак с конца utf переменной вырезанной cmd срезается, кавычки решают проблемы со всеми защищенными знаками, они тоже потом срезаются, итого получается один знак с начала, два с конца. проверял на украинских символах, они заменяются на вопросики, что не мешает искать включение подстроки в файле utf8to866 исправил ошибки недочеты https://booomz.000webhostapp.com/download/ | Всего записей: 3522 | Зарегистр. 29-03-2016 | Отправлено: 19:29 24-06-2021 | Исправлено: bomzz, 12:49 26-06-2021 |
|