- Сообщения
- 7,298
- Реакции
- 6,492
Привет!
Решил подсобрать коды перекодировки текстов родными средствами Windows + добавить пару новых фишек -)
Итак,
Демо-набор есть в архиве. Также прилагаю Excel-файл с всеми кодами символов, в том числе китайскими -)
Спасибо за внимание. Надеюсь, окажется Вам полезным.
Решил подсобрать коды перекодировки текстов родными средствами Windows + добавить пару новых фишек -)
Итак,
CMD/BATCH:
chcp 866
cmd /d /a /c type utf16.txt > 866_out.txt
CMD/BATCH:
chcp 1251
cmd /d /a /c type utf16.txt > 1251_out.txt
CMD/BATCH:
chcp 65001
cmd /d /u /c type utf8.txt > .tmp
chcp 1251
type .tmp > 1251_out.txt
del .tmp
Если батник сохранять в кодировке 866
Если батник сохранять в кодировке 1251
CMD/BATCH:
chcp 866
for %%? in ("") do chcp 1251 & cmd /d /a /c set /p=яю<NUL > .tmp
chcp 866
cmd /d /u /c type 866.txt >> .tmp
chcp 1251
cmd /d /a /c type .tmp > 1251_out.txt
del .tmp
CMD/BATCH:
chcp 1251
cmd /d /a /c set /p=яю<NUL > .tmp
chcp 866
cmd /d /u /c type 866.txt >> .tmp
chcp 1251
cmd /d /a /c type .tmp > 1251_out.txt
del .tmp
Если батник сохранять в кодировке 866
Если батник сохранять в кодировке 1251
CMD/BATCH:
chcp 866
for %%? in ("") do chcp 1251 & cmd /d /a /c set /p=по<NUL > .tmp
cmd /d /u /c type 1251.txt >> .tmp
chcp 866
cmd /d /a /c type .tmp > 866_out.txt
del .tmp
CMD/BATCH:
chcp 1251
cmd /d /a /c set /p=яю<NUL > .tmp
cmd /d /u /c type 1251.txt >> .tmp
chcp 866
cmd /d /a /c type .tmp > 866_out.txt
del .tmp
Если батник сохранять в кодировке 866
Если батник сохранять в кодировке 1251
CMD/BATCH:
chcp 866
chcp 1251 & cmd /d /a /c set /p=яю<NUL > utf16.txt
chcp 866 & cmd /d /u /c type 866.txt >> utf16.txt
CMD/BATCH:
chcp 1251
cmd /d /a /c set /p=яю<NUL > utf16.txt
chcp 866 & cmd /d /u /c type 866.txt >> utf16.txt
Если батник сохранять в кодировке 866
Если батник сохранять в кодировке 1251
CMD/BATCH:
chcp 866
chcp 1251 && cmd /d /a /c set /p=яю<NUL > utf16.txt
cmd /d /u /c type 1251.txt >> utf16.txt
CMD/BATCH:
chcp 1251
cmd /d /a /c set /p=яю<NUL > utf16.txt
cmd /d /u /c type 1251.txt >> utf16.txt
С использованием JScript-вставки
Названия доступных кодировок можно посмотреть в колонке .NET Name
в статье: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
С использованием внешних утилит:
win_iconv
Это программа с открытым исходным кодом.
Скачать утилиту.
Синтаксис:
Перечень кодировок:
Пример использования:
Подробности в этой теме.
JavaScript:
@set @x=0; /*
@echo off
call :Recode utf8.txt 1251_out.txt utf-8 windows-1251
pause
goto :eof
:Recode in.[исходный файл] in.[результирующий файл] in.[кодировка исходного файла] in.[кодировка результирующего файла]
cscript.exe //nologo //e:jscript "%~f0" "%~1" "%~2" "%~3" "%~4"
Exit /B
*/with (new ActiveXObject('ADODB.Stream')) {
Charset = WScript.Arguments(2);
Open();
LoadFromFile (WScript.Arguments(0));
Text = ReadText();
Close();
Charset = WScript.Arguments(3);
Open();
WriteText (Text);
SaveToFile (WScript.Arguments(1), 2);
Close();
}
в статье: https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
С использованием внешних утилит:
win_iconv
Это программа с открытым исходным кодом.
Скачать утилиту.
Синтаксис:
CMD/BATCH:
iconv [-c] [-s] [-f encoding] [-t encoding] [inputfile …]
CMD/BATCH:
iconv -l
CMD/BATCH:
win_iconv -f UTF-16LE -t cp866 "UTFtext.txt" > "DOStext.txt"
Подробности в этой теме.
Демо-набор есть в архиве. Также прилагаю Excel-файл с всеми кодами символов, в том числе китайскими -)
Спасибо за внимание. Надеюсь, окажется Вам полезным.
Вложения
Последнее редактирование: