Конвертация в KOI-7

(1/3) > >>

denchik:
Здравствуйте!

 Вопрос: Нужно программно конвертировать обычный текстовый файл в двоичный файл с КОИ-7 кодировкой.
 Алгоритм:
Перевести символы в 16-чный код согласно КОИ-716-ый код конвертировать в бинарный,(пример :7F(HEX)=1111111(BIN) )

 Вопрос: правильно ли я рассуждаю?
 Нужно или нет обрабатывать символы табуляции:пробел,перенос строки..?
 Как лучше это сделать на С++ ?

Zor:
рассуждаешь ты странно...

1. (грубо говоря) любые национальные кодировки не относящиеся к unicode/utf - 8 битные. причем тут 16 разрядный код?
2. служебные символы (табы, пробелы, переводы строк) - одинаковы для всех (это разметка, а без нее текст - не совсем текст)
3. все что тебе надо - выделить из исходника русские буквы и перекодировать их согласно таблице КОИ-7 (которую ты не указал, H0/H1/H2 ?)
4. "конвертировать в двоичный файл" - вообще туман. это как? по идее все файлы двоичные. подробности в студию.

denchik:
Есть файл(вложен),этот файл(такого формата) мне и нужно получить на выходе,из текстового файла .
Файл обрабатывается станком ЧпУ с  семи битной архитектурой(КОИ-7 H0)

Цитировать

все что тебе надо - выделить из исходника русские буквы и перекодировать их согласно таблице КОИ-7

Объясните,зачем выделять символы,ведь по сути перекодировать нужно весь файл.

Причём кодировка у станка семи битная,но восьмой бит всё же обрабатывается идёт под так называемый "забой",
если в курсе поясните пожалуйста.

Zor:
нифига не прояснил, только запутал еще больше :) исходный текстовый файл как выглядит?
файл, который ты приложил, записан в каком-то формате, явно далеком от текстового, и я сомневаюсь что можно перевести один в другой простой заменой символов.
описание его формата у тебя есть вообще?

denchik:
В данный момент схема получения выходного файла 107.SM6(который я вкладывал) на производстве такая.

1. Разрабатывается математическая модель печатной платы в программе типа P-CAD .
    (На изображении разработка ПП в программе layout-младший брат P-CAD,
         layout или P-CAD -не принципиально) 
   
   

2. Программа  layout на основе мат.модели генерирует так называемый файл "сверловки" в
    формате Exellon,с расширением  .drl,это по сути текстовый файл,обычной кодировки,который без проблем
    обрабатывается современными станками ЧПУ забугорного производства.
     Вот он:
    Код:

/DBGRID 1
/DBUNIT 9
M71
T1C0.600
X003500Y006975
X004375Y004350
X004375Y004075
X005125Y003425
X005225Y004775

T2C0.800
X007000Y007250
X007000Y006000
X002125Y004500
X002125Y005262
X003649Y004500
X003649Y005262
T3C1.000
X008875Y006625
X008875Y007125
X008375Y007375
X008375Y006875
X005125Y006500

T6C1.800
X002000Y001500
X002000Y007500
X005850Y007470
X005850Y006970
X004650Y007470

M30

   
 3. Этот формат и синтаксис не подходит для моего станка.
     Поэтому дальше начинаются танцы с бубном.Отдельной программой подгоняют синтаксис к виду:
     Код:

%2
G00 G81 G90 W-4 R6 M03
G27 S F T1
X003500Y006975
X004375Y004350
X004375Y004075
X005125Y003425
X005225Y004775

G27 T2 S F
X007000Y007250
X007000Y006000
X002125Y004500
X002125Y005262
X003649Y004500
X003649Y005262
G27 T3 S F
X008875Y006625
X008875Y007125
X008375Y007375
X008375Y006875
X005125Y006500

G27 T6 S F
X002000Y001500
X002000Y007500
X005850Y007470
X005850Y006970
X004650Y007470
G26 G80 X1Y571 T0 M05 M02
E0 XYZ

4. Потом из под DOS подгружается программа,которая и конвертирует этот файл в формат .SM6
     согласно КОИ-7 H0, и  записывает на внешний носитель.
 Всё это очень геморойно),поэтому пишется программа которая в перспективе всё это будет делать в одном месте.
         Опишу всё по порядку:
  1.0  С помощью сервера автоматизации OLE,открываем файл .lay (программы layout)
  2.0  Подхватываем метод экспорта в Exellon( программы layout) выводим на свой RichEdit
  3.0  Модифицируем синтаксис в RichEdit,выдёргиваем значения координат ХУ,кладём в StringGrid
  4.0 Проводим визуализацию сверления по координатам ХУ,с помощью диаграммы Bubble компонента Chart
Всё это в принципе уже в некотором виде есть,осталось подготовить файл .SM6,который читает наш станок.
  Спецификации файла в документации нет,раньше программа в станок загружалась с перфоленты в 16-ых кодах.
   Программа которая сейчас подготавливает файл .SM6,(для записи с внешнего устройства->катриджа), писалась лет 15 назад,человека который писал эту программу уже не найти.
   В техническом описании станка указано что станок имеет 7-ми битную архитектуру,по стандарту КОИ-7(думаю H0) .
 
Ещё раз: Файл типа 107.SM6(который был вложен) мне нужно получить,как исследовать битовую структуру файла я не знаю.
              Исходник: текстовый файл обычной кодировки.

PS  старался не особенно запутать,извиняюсь ситуация такая ,у самого голова кругом.


 

Навигация

[0] Главная страница сообщений

[#] Следующая страница