Кодировка из Dos в Win
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Привет всем! Опять трабла! Выгружаю файл из программы Амба, загружаю в прогу и вижу иероглифы, ладна думаю, дай ка поменяю шрифт, меняю на Terminal и я вижу текст, но тут опять проблема! Принера отказываются печатать такую фигню! Что делать? Как такую хрень перекодировать???
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

Любым текстовым редактором, понимающим разные кодировки. Я, например, использую Aditor. А в принципе это и Word может сделать.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Если файл текстовый, то в Total Commander 6.53 есть AddOn редактор Akelpad, выглядит как обычный блокнот, но возможностей гораздо больше.
Ну а если нет, то можно и простенькую утилу написать для конвертации
Ну а если нет, то можно и простенькую утилу написать для конвертации
It's a long way to the top if you wanna rock'n'roll
Кстати, если этот Akel напечатать при включенной русской раскладке, получится Флуд. Не знаю, то ли случайность, то ли шутка автора
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
Ну это простой вопросик, если файлик текстовый и ты его сам открываешь и загружаешь себе в прогу, просто прогоняй текстовою строку через функци. EOMToWin или обратно WinToEOM, а шрифт оставь обычный типа Times New Roman или курьер, когоче любой виндовсовский
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
EOMToWin - что за функция такая? У меня такое дельфа не знает, дажо в справочнике нетю.
Парни, про текстовые редакторы я вкурсе, но мне нужно именно в проге осуществить конвертирование
Парни, про текстовые редакторы я вкурсе, но мне нужно именно в проге осуществить конвертирование
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

Можно банально сделать массив замен: в цикле от 0 до 255 вывести i-й символ, сделать это в Дельфи (получится таблица для кодировки Win-1251) и в Паскале (будет OEM-кодировка). А потом собрать это все в два массива и через них все декодить.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
Нафига делать тысячу раз одно и тоже? Почему бы не сделать это с помощью MultiByteToWideChar(866, ....) а потом WideCharToMultiByte(1251, ....). Вроде в Win и KOI8 есть, но мне влом проверить.Хыиуду писал(а):Можно банально сделать массив замен: в цикле от 0 до 255 вывести i-й символ, сделать это в Дельфи (получится таблица для кодировки Win-1251) и в Паскале (будет OEM-кодировка). А потом собрать это все в два массива и через них все декодить.
2B OR NOT(2B) = FF
-
- Сообщения: 273
- Зарегистрирован: 30 июн 2005, 14:53
ошибся, попробуйDr_Grizzly писал(а):EOMToWin - что за функция такая? У меня такое дельфа не знает, дажо в справочнике нетю.
Парни, про текстовые редакторы я вкурсе, но мне нужно именно в проге осуществить конвертирование
AnsiToOem и OemToAnsi
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
Какие должны быть парамерты у функции AnsiToOem(PChar,PChar)?? Вот что нашел в справке
CharToOem(
LPCTSTR lpszSrc, // pointer to string to translate
LPSTR lpszDst // pointer to translated string
);
Parameters
lpszSrc
Pointer to the null-terminated string to translate.
lpszDst
Pointer to the buffer for the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Но так и не понял, что куда, переменная lpszSrc подразумевает сам символ в Dos-кодировке, а вторая переменная чего хочет??? Киньте примерчик плиз...
CharToOem(
LPCTSTR lpszSrc, // pointer to string to translate
LPSTR lpszDst // pointer to translated string
);
Parameters
lpszSrc
Pointer to the null-terminated string to translate.
lpszDst
Pointer to the buffer for the translated string. If the CharToOem function is being used as an ANSI function, the string can be translated in place by setting the lpszDst parameter to the same address as the lpszSrc parameter. This cannot be done if CharToOem is being used as a wide-character function.
Но так и не понял, что куда, переменная lpszSrc подразумевает сам символ в Dos-кодировке, а вторая переменная чего хочет??? Киньте примерчик плиз...
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD
