Вверх ↑
Этот топик читают: Гость
Ответов: 1731
Рейтинг: 68
#1: 2011-08-21 18:08:06 ЛС | профиль | цитата
Долго мучился, но не как не понял как узнать этот блок:World 1Home из:? ?World 1Homef,dg
?? – `

Или Server из ? ?ServerО?йg
? - неизвестный символ.
Там такого рода символов на 94 мегабайта.
Помогите пожалуйста.
P.S. Обрабатываю файлы карт игры Terraria.
карма: 1

0
Ответов: 8926
Рейтинг: 823
#2: 2011-08-21 18:15:04 ЛС | профиль | цитата
Cosinus, искать известное сочетание символов и копировать некоторое количество символов от найденой позиции: а есть-ли там нужный блок.
карма: 19

0
Ответов: 1731
Рейтинг: 68
#3: 2011-08-21 23:41:10 ЛС | профиль | цитата
Cosinus писал(а):
? ?World 1Homef,dg ?? – `

Это конец файла.
Леонид писал(а):
известное сочетание символов

Как раз в этом и проблема.
Во 1 мешают неизвестные символы.
Во 2 для каждого файла конец генерируется.

------------ Дoбавленo в 23.41:
(вот конец другой карты - *? ??TestОй)
Похоже надо будет сделать, чтобы поль-тель вписывал название сам
Форум не хочет писать много строчек
карма: 1

0
Ответов: 8926
Рейтинг: 823
#4: 2011-08-22 00:15:41 ЛС | профиль | цитата
Cosinus, почитайте свои посты, внимательно и без предубеждения, и что должен понять собеседник: "Пойди туда, не знаю куда, принеси то, не знаю что!" Правильно поставленный вопрос содержит 90% ответа!
карма: 19

0
Ответов: 1731
Рейтинг: 68
#5: 2011-08-22 05:43:40 ЛС | профиль | цитата
Как из этой строчки - ? ?World 1Homef,dg ?? – `взять World 1Home не применяя поиска блока с неизвестными символами?
Вопрос задан верно? Если нет то удалите тему, буду дальше думать.
карма: 1

0
Ответов: 1536
Рейтинг: 176
#6: 2011-08-22 09:03:06 ЛС | профиль | цитата
Cosinus самый действованный способ. Попробуйте проследить за самим собой и разобраться, как Вы сами (как человек) ищите и находите то, что Вам нужно. Потом прикрутите это к статичной логике, а потом к среде HiAsm. Далее оптимизируйте Вашу схему и в случае большей оптимизации или производительности выкладывайте сюда (в свою тему на форум). Ваш вопрос как бы понятен, но не понятно от чего отпираться, чтобы дать полный ответ. Неизвестно какова аналогия данных, может удобнее обрабатывать их на бинарном уровне. Вообщем понять сложно.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#7: 2011-08-22 09:09:43 ЛС | профиль | цитата
ser_davkin писал(а):
Вообщем понять сложно

Честно сказать, я тоже ничерта не понял -- надо найти чисто World 1Home (из описания это и следует прямым текстом, тк это и есть текстовый блок поиска, но на кой черт это надо и какая от этого польза) или найти World 1Home + некая строка параметров, что логично представить как блок параметров самой игры, но тогда возникает вопрос -- а что является концом блока параметров
карма: 22

0
Ответов: 3349
Рейтинг: 233
#8: 2011-08-22 09:17:58 ЛС | профиль | цитата
Данные точно строковые?
карма: 1

0
Ответов: 3889
Рейтинг: 362
#9: 2011-08-22 09:20:59 ЛС | профиль | цитата
nesco, [парапсихологический режим] Может так: в бинарном файле вариативного размера, ближе к концу (но не известно, где точно) встречаются текстовые вкрапления, которые программа должна извлекать и использовать в своей логике (как название карты). [/парапсихологический режим]
карма: 1

0
Ответов: 1536
Рейтинг: 176
#10: 2011-08-22 09:37:05 ЛС | профиль | цитата
Cosinus писал(а):
? - неизвестный символ.
Там такого рода символов на 94 мегабайта.

карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#11: 2011-08-22 10:14:26 ЛС | профиль | цитата
Ivann писал(а):
Данные точно строковые?

Без разницы, какие там данные. Тут подобную задачу, и даже сложнее, решали пару месцев назад. Ничего сложнго, тянет на курсовой реферат по HiAsm-y за первый курс
карма: 22

0
Ответов: 3349
Рейтинг: 233
#12: 2011-08-22 10:26:01 ЛС | профиль | цитата
nesco, Если данные не строковые, как сказал товарищ 1nd1g0
1nd1g0 писал(а):
nesco, [парапсихологический режим] Может так: в бинарном файле вариативного размера, ближе к концу (но не известно, где точно) встречаются текстовые вкрапления, которые программа должна извлекать и использовать в своей логике (как название карты). [/парапсихологический режим]

Имеет смысл парсить не строку а, а читать побайтно
карма: 1

0
Разработчик
Ответов: 26155
Рейтинг: 2127
#13: 2011-08-22 10:44:10 ЛС | профиль | цитата
Ivann писал(а):
а читать побайтно

Ню-Ню. Вот только сколько вы его читать будете 94 мегабайта для побайтного чтения -- очень сильно способствует ускорению процесса
------------ Дoбавленo в 10.44:
Давайте, все же, заслушаем топикстартера -- что ему конкретно надо
карма: 22

0
Ответов: 3349
Рейтинг: 233
#14: 2011-08-22 10:51:33 ЛС | профиль | цитата
nesco, А чем отличается парсинг строки, от байтового чтения?
По сути -- не чем, так что вопрос что быстрее остается, и что надежнее - тоже
карма: 1

0
Ответов: 3889
Рейтинг: 362
#15: 2011-08-22 10:59:41 ЛС | профиль | цитата
nesco писал(а):
94 мегабайта для побайтного чтения

Cosinus писал(а):
Это конец файла.

Возможно, умнее будет читать (кратными 512-ти кластерами) с другого конца
А вообще трудно спорить с
nesco писал(а):
заслушаем топикстартера -- что ему конкретно надо

Пока что это похоже на сеанс групповой телепатии
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)