Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Русская кодировка (http://forum.oszone.net/showthread.php?t=214124)

ars_art 26-08-2011 23:26 1740054

Русская кодировка
 
Здравствуйте, господа.

Как методом "С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 1740155

Код:

@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 1740405

Вся "элегантность" с временным файлом пропадает. Иначе – никак?

Foreigner 27-08-2011 17:05 1740424

ars_art,
1.txt только для проверки результата. Можно просто echo
Цитата:

Или же может, есть другой, элегантный метод перекодирования?
С помощью сторонних утилит. Например iconv
Код:

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


Время: 16:13.

Время: 16:13.
© OSzone.net 2001-