Войти

Показать полную графическую версию : Русская кодировка


ars_art
26-08-2011, 23:26
Здравствуйте, господа.

Как методом "СALL" вернуть перекодированный (866 --> 1251) текст?
Или же может, есть другой, элегантный метод перекодирования?
Бьюсь над решением уже долгое время. К примеру:
@Echo Off


Call :RUS РусскийТекст


:: ...ещё какой-то код...

Pause & Exit


:RUS
CHCP 1251 >nul
Echo %1
CHCP 866 >nul
Exit /b

Foreigner
27-08-2011, 05:16
@Echo Off
1>nul chcp 866

Call :RUS РусскийТекст

:: ...ещё какой-то код...
goto:eof

:RUS

CHCP 1251 >nul
1>1.txt Echo %1
CHCP 866 >nul

ars_art
27-08-2011, 16:40
Вся "элегантность" с временным файлом пропадает. Иначе – никак?

Foreigner
27-08-2011, 17:05
ars_art,
1.txt только для проверки результата. Можно просто echo
Или же может, есть другой, элегантный метод перекодирования?
С помощью сторонних утилит. Например iconv (http://gnuwin32.sourceforge.net/packages/libiconv.htm)

echo РусскийТекс | iconv -f cp866 -t cp1251




© OSzone.net 2001-2012