Успокой мой пьяный разум многоликая река. Пусть отныне вдохновляют лишь камни да вода.
Здравствуй, дорогой дневник.
Не было печали, как говорится.
Как ты знаешь, я люблю таблички, графики и вышивать. В какой-то момент я придумал выгружать прогресс вышитого в яндекс диск и сделал скрипт, который забирает файлы с диска, анализирует и сохраняет в таблицу. Потому что, не смотря на то, что там просто папка с файлом save.state, я быстро догадался, что это на самом деле - zip архив, внутри которого save файл без расширения, который - текстовый и внутри там json из которого данные забираются на раз-два.
А еще, недавно купил планшет для вышивки и поставил туда Сагу, версию поновее. И было это осенью же.
А сегодня в офисе нет никого и, думаю, сделаю-ка я красивый вывод графика. Чтобы не на PIL, а на Plotly.
И вот сейчас ОКАЗАЛОСЬ, что новая версия прогресс сохраняет, мягко говоря, иначе. Вместо папки с именем проекта и save.state внутри - файл Вышивка - Дата.sp.
Блокнотом оно, конечно открывается, но там преимущественно всякие непечатаемые символы, которые notepad++ переваривает очень так себе.
HEX редактор говорит, что данные всё же там. Вон и DMC повторяется с цифами - значит - это перечисление палитры.
![](https://diary.ru/resize/-/-/1/0/9/6/1096257/msFe5.png)
И что теперь делать?
Загружать данные как бинарные и как-то парсить?
Или забить и тупо найти предыдущую версию? Если я хочу, чтобы этим не только лишь я пользовался - придется парсить...
UPD
Окай, эти символы имеют смысл.
STX - Start of Text - First character of message text, and may be used to terminate the message heading.
SOH - Start of Header - First character of a message header.
GS - Group Separator - Can be used as delimiters to mark fields of data structures. If used for hierarchical levels, US is the lowest level (dividing plain-text data items), while RS, GS, and FS are of increasing level to divide groups made up of items of the level beneath it.
Внутри этого файла - таблица. Но зачем она там?
![](https://diary.ru/resize/180/-/1/0/9/6/1096257/T2Rk9.jpg)
Может я вместо прогресса сохранил состояние? Кнопки-то рядом.
UPD вечером.
Ладно, я бахнув кофе и открыл это на мониторе побольше. Я всё понял.
На телефоне была Сага2, а тут - Сага4.
Раньше было две кнопки, "Сохранить прогресс" и "Сохранить резервную копию". Первая просто сохраняла дата-количество крестиков и всё. Вторая сохраняла схему и координаты вышитых-не вышитых крестиков. А теперь - всё в одном файле.
Если посмотреть на него внимательно, прищурившись, то всё становится понятно.
![](https://diary.ru/resize/-/-/1/0/9/6/1096257/KKHxD.png)
Начало - палистра и привязка к символам, потом таблица со схемой, но это всё не то.
Нужно найти 00 00 0A 00, этот блок встречается только перед разделом строки со статистикой.
После него - 31 байт это дата, время первого и последнего крестика за сутки, день недели.
А еще после - 98 байт (11 раз по 8) это вышитые крестики, бэк, фрузлы и прочее.
На картинке - после даты А0 00 - это 161 крестик, что я сделал 8 декабря, а следующий блок 83 02 - это 643 крестика от 10 декабря.
Так что, не писаем в рюмку и пользуемся тем, что посвежее. А парсер я на выходных напишу.
Не было печали, как говорится.
Как ты знаешь, я люблю таблички, графики и вышивать. В какой-то момент я придумал выгружать прогресс вышитого в яндекс диск и сделал скрипт, который забирает файлы с диска, анализирует и сохраняет в таблицу. Потому что, не смотря на то, что там просто папка с файлом save.state, я быстро догадался, что это на самом деле - zip архив, внутри которого save файл без расширения, который - текстовый и внутри там json из которого данные забираются на раз-два.
А еще, недавно купил планшет для вышивки и поставил туда Сагу, версию поновее. И было это осенью же.
А сегодня в офисе нет никого и, думаю, сделаю-ка я красивый вывод графика. Чтобы не на PIL, а на Plotly.
И вот сейчас ОКАЗАЛОСЬ, что новая версия прогресс сохраняет, мягко говоря, иначе. Вместо папки с именем проекта и save.state внутри - файл Вышивка - Дата.sp.
Блокнотом оно, конечно открывается, но там преимущественно всякие непечатаемые символы, которые notepad++ переваривает очень так себе.
HEX редактор говорит, что данные всё же там. Вон и DMC повторяется с цифами - значит - это перечисление палитры.
![](https://diary.ru/resize/-/-/1/0/9/6/1096257/msFe5.png)
И что теперь делать?
Загружать данные как бинарные и как-то парсить?
Или забить и тупо найти предыдущую версию? Если я хочу, чтобы этим не только лишь я пользовался - придется парсить...
UPD
Окай, эти символы имеют смысл.
STX - Start of Text - First character of message text, and may be used to terminate the message heading.
SOH - Start of Header - First character of a message header.
GS - Group Separator - Can be used as delimiters to mark fields of data structures. If used for hierarchical levels, US is the lowest level (dividing plain-text data items), while RS, GS, and FS are of increasing level to divide groups made up of items of the level beneath it.
Внутри этого файла - таблица. Но зачем она там?
![](https://diary.ru/resize/180/-/1/0/9/6/1096257/T2Rk9.jpg)
Может я вместо прогресса сохранил состояние? Кнопки-то рядом.
UPD вечером.
Ладно, я бахнув кофе и открыл это на мониторе побольше. Я всё понял.
На телефоне была Сага2, а тут - Сага4.
Раньше было две кнопки, "Сохранить прогресс" и "Сохранить резервную копию". Первая просто сохраняла дата-количество крестиков и всё. Вторая сохраняла схему и координаты вышитых-не вышитых крестиков. А теперь - всё в одном файле.
Если посмотреть на него внимательно, прищурившись, то всё становится понятно.
![](https://diary.ru/resize/-/-/1/0/9/6/1096257/KKHxD.png)
Начало - палистра и привязка к символам, потом таблица со схемой, но это всё не то.
Нужно найти 00 00 0A 00, этот блок встречается только перед разделом строки со статистикой.
После него - 31 байт это дата, время первого и последнего крестика за сутки, день недели.
А еще после - 98 байт (11 раз по 8) это вышитые крестики, бэк, фрузлы и прочее.
На картинке - после даты А0 00 - это 161 крестик, что я сделал 8 декабря, а следующий блок 83 02 - это 643 крестика от 10 декабря.
Так что, не писаем в рюмку и пользуемся тем, что посвежее. А парсер я на выходных напишу.
)))
>>Нужно найти 00 00 0A 00, этот блок встречается только перед разделом строки со статистикой.
Разбирать форматы двоичных файлов -- дело неблагодарное. Хорошо, что он не сжат никак.
И не зашифрован! Даже если бы просто шифрование XORом сделали - всё бы куда больше времени заняло.
Только о когда прищурилась - увидела 255 цифры посреди экрана, но не думаю, что эт вообще надо кому