Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Декодирование бинарного файла 
:(
    Опции темы
kosyakLA
Дата 4.9.2007, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Есть бинарник от цифровой АТС SI2000 . . . файлы AMA определенного формата . . . не подскажите как вообще вытягивать оттуда данные?

Принципы как это делается . . . мне сказали почитать про unpack . . .читал 

там написано что нужно использовать unpack TEMPLATE,EXPR

я так понимаю EXPR - бинарные данные

а TEMPLATE - это типа формат данных в бинарнике? . . . 


Сказали ещё что нужно читать по блокам как-то данные . . . в общем буду признателен за любую инфу!!!

PM MAIL   Вверх
tishaishii
Дата 5.9.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



А по-подробнее? Шо воно вааще такоэ?
PM MAIL ICQ Skype   Вверх
nitr
Дата 5.9.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



kosyakLA, да, примерно, вы правы.
Я не видел эти файлы, но когда писал модуль для чтения "бинарного" файла (Excel v2.0), то использовал unpack.
Цитата
The TEMPLATE is a sequence of characters that give the order and type of values, as follows:
    a   A string with arbitrary binary data, will be null padded.
    A   A text (ASCII) string, will be space padded.
    Z   A null terminated (ASCIZ) string, will be null padded.
    b   A bit string (ascending bit order inside each byte, like vec()).
    B   A bit string (descending bit order inside each byte).
    h   A hex string (low nybble first).
    H   A hex string (high nybble first).
    c   A signed char value.
    C   An unsigned char value.  Only does bytes.  See U for Unicode.
    s   A signed short value.
    S   An unsigned short value.
          (This 'short' is _exactly_ 16 bits, which may differ from
           what a local C compiler calls 'short'.  If you want
           native-length shorts, use the '!' suffix.)
    i   A signed integer value.
    I   An unsigned integer value.
          (This 'integer' is _at_least_ 32 bits wide.  Its exact
           size depends on what a local C compiler calls 'int',
           and may even be larger than the 'long' described in
           the next item.)
    l   A signed long value.
    L   An unsigned long value.
          (This 'long' is _exactly_ 32 bits, which may differ from
           what a local C compiler calls 'long'.  If you want
           native-length longs, use the '!' suffix.)
    n   An unsigned short in "network" (big-endian) order.
    N   An unsigned long in "network" (big-endian) order.
    v   An unsigned short in "VAX" (little-endian) order.
    V   An unsigned long in "VAX" (little-endian) order.
          (These 'shorts' and 'longs' are _exactly_ 16 bits and
           _exactly_ 32 bits, respectively.)
    q   A signed quad (64-bit) value.
    Q   An unsigned quad value.
          (Quads are available only if your system supports 64-bit
           integer values _and_ if Perl has been compiled to support those.
           Causes a fatal error otherwise.)
    j   A signed integer value (a Perl internal integer, IV).
    J   An unsigned integer value (a Perl internal unsigned integer, UV).
    f   A single-precision float in the native format.
    d   A double-precision float in the native format.
    F   A floating point value in the native native format
           (a Perl internal floating point value, NV).
    D   A long double-precision float in the native format.
          (Long doubles are available only if your system supports long
           double values _and_ if Perl has been compiled to support those.
           Causes a fatal error otherwise.)
    p   A pointer to a null-terminated string.
    P   A pointer to a structure (fixed-length string).
    u   A uuencoded string.
    U   A Unicode character number.  Encodes to UTF-8 internally
        (or UTF-EBCDIC in EBCDIC platforms).
    w   A BER compressed integer.  Its bytes represent an unsigned
        integer in base 128, most significant digit first, with as
        few digits as possible.  Bit eight (the high bit) is set
        on each byte except the last.
    x   A null byte.
    X   Back up a byte.
    @   Null fill to absolute position, counted from the start of
        the innermost ()-group.
    (   Start of a ()-group.


Да... помню такое smile вот такая конструкция "ужасная" smile
Код

$str = hex(unpack("H*", substr($strs, $i, 1)));
...
$txt = unpack("F*", substr($strs, $i, 8)); 

Но это специфика BLOB-файла.

Покажите что у вас получилось, и, конечно, описание формата ;) (сам файл тоже (если можно)).

;)


--------------------
PM   Вверх
kosyakLA
Дата 6.9.2007, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Цитата(tishaishii @ 5.9.2007,  17:42)
А по-подробнее? Шо воно вааще такоэ?

Есть бинарник от АТС SI2000 формат файла AMA . . . структура ленты такая:

7.1. Записи о вызовах
Записи о вызовах состоят из фиксированной и переменной частей. Фиксированная часть записи
содержит информацию о типе записи (базовый вызов, FAIS, FAU,...) и ее назначении (тарификация,
PMOB, MOB, DEB,...), информацию о номере абонента, действия которого привели к созданию
записи. Переменная часть записи состоит из информационных элементов, которые выбираются в
зависимости от типа записи. Любая запись начинается с фиксированной части, за которой могут
следовать информационные элементы переменной части записи.
Положение
поля
Длина поля Часть записи
1 16+(от 2 до 19) Фиксированная часть для всех записей
17 m Переменная часть в зависимости от типа записи
Переменная часть может содержать следующие информационные элементы:
Информационный элемент Длина Тип записи
Вызов FAIS FAU
100 Вызываемый номер (Called number) от 4 до 22 X
101 Номер абонента, на которого передан вызов (Call
accepting party number)
от 5 до 23 X (a)
102 Дата и время начала вызова (Start date and time) 9 X X X
103 Дата и время завершения вызова (End date and time) 9 X X
104 Количество тарифных импульсов (Number of charging
units)
4 X X X
105 Базовая услуга (Basic service) 3 X X
106 Дополнительная услуга у инициатора вызова
(Supplementary service used by calling subscriber)
2 X (b) X
107 Дополнительная услуга у вызванного абонента
(Supplementary service used by called subscriber)
2 X ©
108 Администрирование услуги абонентом (Subscriber’s
control input)
3 X
109 Последовательность введенных символов
(Dialed digits)
от 3 до 32 X
110 Исходящая категория (Origin category) 2 X X X
111 Тарифное направление (Tariff direction) 3 X X X
(*9*) 112 Причина безуспешного вызова (Failure cause) 2 X (d)
113 Идентификация входящей соединительной линии
(Incoming trunk data)
9 X (e)
114 Идентификация исходящей соединительной линии
(Outgoing trunk data)
9 X (e)
(*1*) 115 Длительность вызова или использования
дополнительной услуги (Call / service duration)
5 X X (f)
8 FUN559000-PCR-150
(*2*) 116 Контрольная сумма (Checksum) 4 X X X
(*3*) 117 Бизнес-группа и центрекс-группа (Business and
centrex group id)
6 X (g) X (g) X (g)
(*4*) 118 Код доступа сети (Carrier access code) от 3 до 7 X (h)
(*3*) 119 Оригинальный номер вызывающего абонента
(Original calling party number)
от 3 до 23 X (i)
(*5*) 120 Данные о пополнении предоплаченного счета
(Prepaid account recharge data)
15 X (j)
(*6*) 121 Причина разъединения вызова (Call release
cause)
5 X (k) X X
(*6*) 122 CBNO (Charge Band Number) 5 X (l)
(*7*) 123 Общий идентификатор вызова (Common Call Id) 6 X (m)
(*7*) 124 Время до ответа (Durations Before Answer) 10 X (n)
(*8a*) 125 VoIP–информация (VoIP Info) 5 X (o)
(*8a*) 126 Количество передаваемых данных Data
(Amount of transferred Data)
5 X (o)
(*8*) 127 IP–адреса (IP Addresses) 4 + 4n X (o)
(*10*) 128 VoIP–информация (VoIP Info) 13 X (o)
(*10*) 129 Количество передаваемых данных Data
(Amount of transferred Data)
25 X (k,
o)


8.2.1. Фиксированная часть записи
Поле Пози-
ция
Длина Наименование поля Формат
поля
1 1 1 Идентификатор типа записи (200) bin
2 2 2 Длина записи bin
3 4 4 Индекс записи bin
4 8 4 Идентификатор вызова bin
5 12 3 F8 F7 F6 F5 F4 F3 F2 F1 bin
F16 F15 F14 F13 F12 F11 F10 F9
Резерв F19 F18 F17
6 15 1 Последовательность Состояние учета
стоимости
bin
7 16 1 Длина кода зоны Длина списочного номера bin
8 17 n Код зоны и списочный номер абонента, действия
которого инициировали создание записи
BCD


Мне сказали надо искать фиксированную часть, а потом всё остальное вытягивать . . . я ни разу ничем таким не занимался . . . вот и сижу уже 4 дня не могу разобраться :( . . .  в нете инфы вообще нет практически


PM MAIL   Вверх
apook
Дата 6.9.2007, 08:41 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



помоему это типичная структура данных сохраненная в файл,  без проблем бы выдрал от туда данные( smile ) 

создаешь стрктуру с полями которые в том файле имеются
Открываешь файл в бинарном режиме
и можно  все скопом затолкать ( т.е sizeof структуры скажет программе сколько надо считать байт ) лишь бы типы данных совпали т.е считаться должно все, таким образом все поля структуры заполнятся!




--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
kosyakLA
Дата 6.9.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Цитата(apook @ 6.9.2007,  08:41)
помоему это типичная структура данных сохраненная в файл,  без проблем бы выдрал от туда данные( smile ) 

создаешь стрктуру с полями которые в том файле имеются
Открываешь файл в бинарном режиме
и можно  все скопом затолкать ( т.е sizeof структуры скажет программе сколько надо считать байт ) лишь бы типы данных совпали т.е считаться должно все, таким образом все поля структуры заполнятся!

Блина . . . можно хоть начало примера! . . . мне нужно тупо оттолкнутся от какой-то точки!
PM MAIL   Вверх
shamber
Дата 6.9.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



kosyakLA, киньте маленький кусочек этого файла, накидаем примерчик.
PM MAIL Jabber   Вверх
kosyakLA
Дата 6.9.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Цитата(shamber @ 6.9.2007,  10:01)
kosyakLA, киньте маленький кусочек этого файла, накидаем примерчик.

Код

И \ L#Ц„ь9  "4$ђd ‰$df@f- g-$ h   inoq P 3  $r [ў Hs   0v y tїоИ ] L$Ц…9  
’FBxtd „&"1Ђ`f-"     g-% h   i noq [ц зr ґ 9  `s  ўv y tpTИ Q L%Ц…9  
’FIY™d „&"A"f- g-) h   i noq [• H s  .юy t…ДИ ] L&Ц…&9  
’FDr‚d „&"appf-) g-, h   i noq [С  гr @ж Es   "v y tтѓИ \ L'Ц~•9  2$&ђd ‰06 f,     g-,     h  inoq ·  gr  r  Ds ђLv y t{ЮИ E L(Ц…)  ҐBb"$0d# f- g-. h   in    os  V^y tДГИ R L)Ц„А9   y$d1Ђ d „&"#wPf, g-5 h  i noq [й зs ©<y tэТИ ] L*Ц…9  
’FBy(d „&"x'ђf-# g-6 h   i noq [Я  гr ]4  k s  Hbv y 
tcгИ \ L+ЦЃ 9  2$$@d „&"3hf") g-9  h   inoq ·  gr ґ =  `
s 
OBv y tXЄИ ^ L,Ц…(9   y$!‡Ђ@d „&fD f-. g. h   i noq [ќ Hr T…  зs  @.v y tэћИ \ L-Ц…9  "530d ‰$df'0f-     g.   h  inoq P +  $r [¤ Hs  ¤Lv y t€xИ E L.Ц…<)  ҐBb"$0d# f. g.  h   in    os  dy tњҐИ Q L/Ц|Щ)  ҐBb$Bd$     f g. h   inor ґ [  a
s шv y tFМИ Q L0Ц….9  
’B    d „&"A"f-1 g. h  i noq [е  гs  nъy t`И ] L1Ц…'9  
’F@d „&"g f-* g.  h  i noq [л  гr @й E    s  љ¦v y tѕ`И ^ L2Ц„m9   ’U ‰d „&"i„@f+ g. h  i noq  ^  Dr @и Es тv y  t.(И E L3Ц…)  ҐBb"1d"` f- g. h   inos €y t™гИ ] L4Ц…-9  
’FI6d „&f4f f. g.     h  i noq [‘ Hr T„  зs  ]ьv y t`ЯИ M L5Ц…:9  "g20d"`f. g. h  inoq +  @s  avy tеИ M L6Ц…N9  "dђЂdA"f.  g.  h   inoq +Q мs  |y &
tГ8И ] L7Ц…29  
’F@&d „&fCЂf. g.! h  i noq [§ Hr Tѓ  зs  lтv y t pИ Y L8Ц„N9  "%vPdia`f* g.$  h  inoq ґ
       r ,Ф s јЦv y t±ZИ M L9Ц…M9  "eV d#(0f.     g.%     h   inoq + s  2Иy tl%И M L:Ц…=9  "` d"d@f.  g.' h  inoq + лs  lzy &
tNаИ ] L;Ц…O9  
’FGIgd „&c"yf. g.'     h   i noq [г  гr M›   s   v y tZsИ Y L<Ц„k9  "d`d$t`f+     g.,  h  inoq +g нr ґ ;  `s _иv y tЂ…И Q L=Ц…S9  
’B2d „&"! f.     g.- h   i noq [з з s  Hvy tqoИ M L>Ц|а9  "3•`d"#0f7 g.0 h  inoq ґ
*  Ўs рЬy t¶
И J L?Ц|а     ҐBb""3d"3•`f7 g.0 h   inoq ґ
*  Ўs рЬtXЧИ E L@Ц…I)  ҐBb"$0d# f. g.0     h   in    os  wцy t0]И Y LAЦ…9  "f#d0 0f-5 g.3 h  inoq +
»  бr ґ 5  `s  а~v y taИ Q LBЦ…J)  ҐBb'd%†`f. g.3 h   inor ґ 9  `s  m€v y t‡”И Y LCЦ…T9  "4)@deVpf." g.4 h   inoq ґ
   Ўr ,• @s  ELv y t2°И T LDЦ„ё)  ҐBb$bfd ‰$d f,  g.8 h   inor [  Hs ^юv y tDЈИ E LEЦ„П)  ҐBb'“sdy7@f, g/ h   inos LRy t    ‘И E LFЦ…u)  ҐBb"$0d#f.4 g/  h   in    os  'цy t:FИ Q LGЦ…7)  ҐBb'“gdA8pf.  g/ h   inor Hв  s  РАv y 
tl«И I LHЦ…v9   dA"f.9  g/ h   inoq +E  Бs  ,Шy t1~И M LIЦ}к9  "q d"#0f+ g/ h  inoq 9“  ¦s іNy  t»[И J LJЦ}к     ҐBb""3d"q f+ g/ h   inoq 9“  ¦s іNtДЗИ I LKЦ…d9   d@0`f., g/
  h  inoq ™ пs  cy tвйИ Q LLЦ„])  ҐBb")˜db4Pf+ g/
 h   inor ,
ш йs ЩPv y t$cИ Q LMЦ……)  ҐBb"—wd$ f/ g/ h   inor ґ ;  `s  јv y tаaИ Q LNЦ…Q)  ҐBb$cd5„`f.* g/ h   inor ґ =  `
s  Ђ¬v y tОлИ ] LOЦ„Ј9  
’Fv#fd „&c!†Pf, g/ h  i noq [г зr M—   s иv y t И M LPЦ…"9  "‘  dEW@f-: g/     h  inoq sф  Ёs @ y tzИ Q LQЦ…{)  ҐBb$id2  f/ g/ h   inor ґ ?  ` s   Іv y tЛЦИ M LRЦ‚‚9  "tdqF@f&' g/ h    inoq a
a  hs Xy t:QИ \ LSЦ…}9  "3GPd ‰$dV6ђf/     g/! h   inoq P 3  $r [¤ Hs  @’v y tЬUИ Q LTЦ…ћ9  
’FB–wd „&"# f/ g/# h   i noq [У  гs  шy tяzИ Y LUЦ}+9  "d d$#0f5 g/$ h  inoq +@ мr ґ m  as КЁv y tВУИ E LVЦ„Ю)  ҐBb'$d@ @f,0 g/' h   inos ќвy t,ЌИ E LWЦ…#)  ҐBb" ˜d   f--     g/, h   inos Пzy tЭИ ] LXЦ…­9  
’FA$d „&"54f/.     g/3 h   i noq [б зr ґ =  `
s  @v y tѕИ E LYЦЂ”)  ҐBb$hd"#0f!+ g/3 h   inos  рРy tsAИ B LZЦЂ”     ҐBb""3d
Bb$hf!+ g/3 h   inos  рРty8И E L[Ц…)  ҐBb$PQd# ђf-& g/3 h   inos ¬y tйЧИ T L\Ц…‚)  ҐBb'Y–d ‰$dIIf/ g/7 h   inor [  Hs  [Вv y t ™И T L]Ц…~)  ҐBb$YЂd ‰$dD`ђf/  g/7 h   inor [ў Hs  ¬Nv y tN(И Q L^Ц…¬)  ҐBb" diFЂf/7 g0  h   inor ,
н йs  єv y t™њИ T L_Ц…Ќ)  ҐBb'“cd „!#"H0f/0 g0 h   inor >  )s  8Jv y 
tlяИ Q L`Ц…і9  
’FA…“d „&"A"f/1  g0 h   i noq [р зs  @jy tњИ M LaЦ…Ѕ9  "dpЂd# f/9 g0 h   inoq +Л s  %шy t~ЄИ Q LbЦ…¶)  ҐBb$id2  f0 g0  h   inor ґ =  `
s  ! v y tqИИ ] LcЦ…•9  
’B2d „&"0 0f/'     g0 h  i noq [т зr ґ ;  `s  …Юv y t™жИ Q LdЦ…И)  ҐBb"2Pda…`f0  g0     h   inor ,# ‚s  .v y t*ЯИ \ LeЦ…Ј9  "agPd ‰$d… f0 g0 h   inoq A7 Ѓr [ћ Hs  2v y &
tMЇИ I LfЦvЉ9   d"#0f  g0 h  $inoq  °  Fs !@y  t­MИ D LgЦvЉ      d"#0f g0 h  $inoq  °  Fs !@t§™И F LhЦvЉ     ҐBb""3d f  g0 h   inoq  °  Fs !@tdэИ \ LiЦ… 9  "i–ђd ‰$dqЂf0     g0 h   inoq A ‚r [  Hs  J`v y tтхИ \ LjЦ„9  cb! d ‰    ‡‰wЂf*
 g0 h  inoq MЖ  &r =  И
s Пјv y  tМZИ M LkЦ…ў9  "q'PduwPf/$ g0!  h  inoq 9•  ¦s  ЬЬy 
tquИ ] LlЦ…Ы9  
’Bxvd „&"%Pf0 g0! h   i noq [Ў Hr ґ =  `
s  v y t4PИ M LmЦ…ѕ9  "5  d#wPf/8  g0"  h  inoq ґ
   s  ”>y tПWИ E LnЦ…З)  ҐBb$ЂdH6`f0  g0$ h   inos  Gђy t№МИ \ LoЦ…ы)  ҐBb"22d ‰Ѓ ‰ f0( g0) h   ij    nor iФ Is  Bv w@6ђy tx
И E LpЦ…ч)  ҐBb$id## f0( g0) h   inos  By tЁИ T LqЦ…Л)  ҐBb"2gd ‰$dr— f0 g0* h   inor [ћ Hs  <‚v y tі{И Y LrЦ…њ9  "4“ђdg f/  g0- h  inoq ґ
*  Ўr ,
т йs #,v y 
tlИ \ LsЦ…є9  "0R d ‰$dE‡ђf0 g03  h  inoq P 3  $r [ў Hs  ‹Vv y tЧбИ M LtЦ…ф9  "5qdEe`f0# g1  h  inoq ґ я   s  bтy t8ыИ T LuЦЂµ)  ҐBb$‰…d ‰$d‰( f" g1     h   inor [– H
s 
^шv y tТиИ \ LvЦ…Ў9  "@ d „&e!c0f/* g1 h  inчoq Gь  r 
ґ  %s 6Иv y 
tЁTИ Q LwЦ…ъ9  
’FA…“d „&"A"f0, g1 h   i noq [з  гs  Hly tяИ \ LxЦ…з9  "b d ‰$du’ f1  g1 h   inoq Aъ Er [ћ Hs  @v y t`&И M LyЦ…Э9  "dpЂd# f0 g1     h  inoq + лs  Ґъy tq†И Q LzЦt5)  ҐBb$ivdq)Ђf     g1 h   inor 7…  ¦s $zтv y t•ФИ E L{Ц_h)  ҐBb"4—d"#0f% g1 h   inos BDy t—вИ B L|Ц_h     ҐBb""3d
Bb"4—f% g1 h   inos BDtўФИ O L}Ц…Љ9  "@ d    ‚"y6pf/
 g1  h  inoq Fф  s у°y 
tpИ ] L~Ц…Е9  
’Fv#fd „&c"`f0
 g1 h  i noq [Щ  г r M™   s 2v y t‘¬И M LЦ…э9  "i0d@WЂf1  g1 h  inoq +‡  Гs  Qy &
t)`И ] LЂЦ…z9  
’FEU$d „&c!—`f/ g1 h  i noq [Ј Hr M›   s  fv y tиХИ M LЃЦ„м9  "%wPdGђ0f,0 g1 h  inoq ґ
  Ў
s 8 y tuИ Q L‚Ц…щ)  ҐBb"cd1sЂf04 g1     h   inor ґ =  `
s  }Њv y tжѕИ ^ LѓЦ…89   y$d%X d „&fD 0f. g1 h  i noq [П  гr T‚  зs вАv y t–
И Q L„Ц†'9  
’Aad „&"!f1 g1 h   i noq [м зs  
<y t9‘И M L…Ц…»9  "3ePd@0`f/7 g1 h  inoq ґ
   s jшy t7И Q L†Ц…М)  ҐBb$eid0 0f0 g1 h   inor ґ ;  `s Jv y tсQИ O L‡Ц…А)  ҐBb$d    f1 g1 h   inor Lм  s  -Єv y tx
И \ L€Ц„в9  "3ѓpd ‰gFђf,4 g1! h  inoq P -  $r 7  Иs IЁv y tИ ] L‰Ц‚љ9  
‘9F‘d „&"%7ђf&0 g1" h   i noq W* еr ґ A  `s    Щаv y  t    И _ LЉЦpк9  
8` d „&"2 f g1' h  -inoq    @r ґ Љ  bs )xфv y tМkИ W L‹Цpк     
8` d „&"2 fg1' h  -inoq    @r ґ Љ  bs )xфtM



так пойдёт smile ? . . . .вообще файл весит 25 метров . . . его может как-то можно по хитрому порезать?

Это сообщение отредактировал(а) kosyakLA - 6.9.2007, 14:29
PM MAIL   Вверх
shamber
Дата 6.9.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



отрежьте пожалуйста 500кб каким-нибудь splitteroм и приложите файл, так легче будет. 
PM MAIL Jabber   Вверх
apook
Дата 6.9.2007, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 794
Регистрация: 12.7.2006

Репутация: нет
Всего: 23



Задача какая?  Ведь надо данные вытянуть именно разложив по полочкам, значит надо очень хорошо знать устройство файла, или же предпологается такой вариант что ищем заданное поле и считываем значение.

P.S не понравился мне perl c точки зрения работы с двоичными файлами, если о том как читать бинарные данные с файла че-т можно найти, то как вносить  вобще грабли.
На Си с этим вообще нет проблем...

Это сообщение отредактировал(а) apook - 6.9.2007, 16:31


--------------------
Мои руки из дуба, голова из свинца ну и пусть ...
PM MAIL   Вверх
kosyakLA
Дата 7.9.2007, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Цитата(shamber @ 6.9.2007,  16:02)
отрежьте пожалуйста 500кб каким-нибудь splitteroм и приложите файл, так легче будет.

500 не получилось . . . тут же ограничение на 100кб

Добавлено через 1 минуту и 50 секунд
Цитата(apook @ 6.9.2007,  16:29)
Задача какая?  Ведь надо данные вытянуть именно разложив по полочкам, значит надо очень хорошо знать устройство файла, или же предпологается такой вариант что ищем заданное поле и считываем значение.

P.S не понравился мне perl c точки зрения работы с двоичными файлами, если о том как читать бинарные данные с файла че-т можно найти, то как вносить  вобще грабли.
На Си с этим вообще нет проблем...

Задача - вытянуть нужные поля из бинарника . . .  т.е. поля заранее известны 

Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  426222_bsi2k_0708010001.ama.1.fss 100,00 Kb
PM MAIL   Вверх
kosyakLA
Дата 11.9.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



up
PM MAIL   Вверх
kosyakLA
Дата 21.9.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Тему можно закрывать...программу написал
PM MAIL   Вверх
nitr
Дата 21.9.2007, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84



kosyakLA, молодец! А рассказать точно не хотите, что у вас получилось?


--------------------
PM   Вверх
kosyakLA
Дата 23.9.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 16.2.2007

Репутация: нет
Всего: нет



Цитата(nitr @ 21.9.2007,  09:58)
kosyakLA, молодец! А рассказать точно не хотите, что у вас получилось?

Ну...получилось то, что хотел ) . . . выдернул все данные из бинарника smile . . . если кому-то понадобится помощь, то в асю 76483359
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0615 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.