Сколько весит файл

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 16:02

Файл на всех компьютерах с OS Windows будет занимать одинаковое кол-во байт? :?:
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 16:03

:drunken:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 16:10

Да, щас начнутся приколы...

И забыл ещё спросить. Я хочу это узнать, для обновления. Чтобы сравнивать при окончании загрузки файла, правильно ли он скачался - сравнивать его количество байт. Так вот, второй вопрос: какой параметр для этого брать:
Размер или Размер на диске ?

---
P.S. Я думаю, что файл занимает одинаковое кол-во бит на всех 8-битовых компьютерах и нужно брать параметр "Размер на диске", а "Размер", помойму, показывает размер с учётом кластеров.
Вложения
ttt.JPG
ttt.JPG (9.34 Кб) Просмотров: 8023
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 16:15

ndemidov писал(а):какой параметр для этого брать

Размер

Но это ничего не гарантирует. Надо считать CRC, а лучше CRC32, а ещё лучше MD5.
Главное знать эталонное значение.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 16:17

ndemidov писал(а):8-битовых компьютерах

Вот 8-битоый компьютер:
Изображение
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 16:53

Хакер писал(а):
ndemidov писал(а):8-битовых компьютерах


Я имел ввиду ЭВМ, где байт = 8 бит.

Как мне тогда лучше быть. Непонимаю, что такое CRC и как им делать. Как мне лучше сравнивать файл, сравнивать с +- 100 Кб, так пойдёт?

прикольный комп :)
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 17:04

ndemidov писал(а):Как мне тогда лучше быть.

Понять тысячу вещей, непонимать которые — адский стыд.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 17:09

Не, не стыдно :)

Так всё-таки прибавлять +- 200 Кб. норм будет? :?: С CRC нехочу возиться, так как я сам менеджер этого проекта и считаю неоправданной вклад усилий на изучение этого, в связи с чем хочу найти более дешёвый и приемлемый, хоть и менее надёжный способ ))
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 17:28

Мне противно вести обсуждение в таком ключе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Сколько весит файл

Сообщение iGrok » 05.12.2010 (Вс) 18:05

О господи.. Вот из-за таких "менеджеров", которые считают, что изучать вопрос совершенно необязательно, у нас и существует на рынке туева хуча говнософта...

1) "Размер" - размер файла.
2) "Размер на диске" - реально занимаемый объём с учётом размера кластера. Он больше. Можно было бы и догадаться, если ну хоть на секунду включить мозг.
3) Само по себе совпадение размера не гарантирует ВООБЩЕ НИЧЕГО. Надёжность метода - нулевая. Проверять надо контрольную сумму. Какие алгоритмы расчёта контрольной суммы лучше использовать выше написал Хакер. Готовых реализаций каждого из этих алгоритмов в сети есть безумное количество.
label:
cli
jmp label

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 18:31

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


Ага, но я имел ввиду свой бесплатный проект Wiki Wiki Earth, так что никто не пострадает, а если и пострадают, то там написано No any warranties :P

Пасибо обоим :)
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Сколько весит файл

Сообщение iGrok » 05.12.2010 (Вс) 19:32

Да хоть трижды бесплатный. Привнесение лишней энтропии во вселенную - всегда плохо. Вне зависимости от причин, по которым она привносится.
label:
cli
jmp label

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 19:58

Нашёл другой способ. Повторю задачу: нужно, чтобы программа определяла, не повреждённый ли скачался файл из инета.

Способ: После скачки получаю номер его версии. Если битый файл - его свойства видимо не получается прочитать. Очевидно, что может возникнуть ситуация, когда файл будет битым, но где-то как-то его номер версии удастся прочитать. Но способ лёгкий.

Код: Выделить всё
Номер версии получаю классом
Dim ## As FileVersionInfo = FileVersionInfo.GetVersionInfo()
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 20:05

ndemidov писал(а):Повторю задачу: нужно, чтобы программа определяла, не повреждённый ли скачался файл из инета.

Повторю единственное верное решение: считать контрольную сумму или хеш.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 20:09

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 20:14

Тогда предлагаю другое решение:

Код: Выделить всё
If Rnd() > 0.777 Then
    MsgBox "Файл загрузился неправильно!"
Else
    MsgBox "Файл загрузился правильно."
End If


Оно гораздо проще, чем думать о каких-то там сложныз размеров файлов, но с такой же достоверностью сообщает об ошибках загрузки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 05.12.2010 (Вс) 20:21

Неужели, все кто делают апдейты проверяют контр. суммой\хэшем?

Тут нужно знать как часто совпадут два условия: версия файла прочтётся до правильной и файл где-то будет битым.

Я этого не знаю, но ты для меня авторитетен и говоришь, что похоже это будет часто. Что меня не обнадёжило.

И как часто такое случится?
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 05.12.2010 (Вс) 21:15

ndemidov писал(а):Неужели, все кто делают апдейты проверяют контр. суммой\хэшем?

Ты не поверишь, но это так. Тысячи строк кода, ради того, чтобы даже при самых невероятных обстоятельствах, обновление либо завершилось успешно, либо не завершилось вообще. Чтобы никакой вероятности, что обновление всё испортит — не было.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Сколько весит файл

Сообщение iGrok » 06.12.2010 (Пн) 0:14

ndemidov писал(а):И как часто такое случится?

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

Блин, тебе что, трудно найти класс для подсчёта md5 файла?
label:
cli
jmp label

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 06.12.2010 (Пн) 0:55

Ясно.

Кстати, вариант с проверкой файла по версии успешно реализовал, работает при сильной потере как у меня сейчас (200кб из 1,4Мб).

Да трудно. А теперь знаю что искать. Может поищу на неделе или после. С завтрашнего дня решил заняться лимитным Холдэмом. Да, галопом по европам.
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 06.12.2010 (Пн) 2:35

iGrok писал(а):Блин, тебе что, трудно найти класс для подсчёта md5 файла?

Скорее даже не нужно искать класс (он будет уродлив): начиная с Windows 2000 доступно это.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 06.12.2010 (Пн) 15:39

Нашёл алгоритм MD5 in VB.NET, пробежал MD5 описание, какой параметр вводить в функцию по которому будем проверять идентичность программы?
Последний раз редактировалось ndemidov 06.12.2010 (Пн) 15:46, всего редактировалось 1 раз.
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 06.12.2010 (Пн) 15:43

Пробегись ещё раз тогда.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 06.12.2010 (Пн) 16:22

Байтовый массив. И на выходе получить короткую строку надо. С MD5 кажется получаем 128-чего то там строку
Хеш содержит 128 бит (16 байт) и обычно представляется как последовательность из 32 шестнадцатеричных цифр.


На одном сайте нашёл готовый код. Сижу щас разбираюсь что что означает.

Код: Выделить всё
Imports System.IO
Imports System.Security.Cryptography
Module Module1
    Sub Main()
        Dim hashCode As Byte()
        Using stream As Stream = File.OpenRead("d:\Video\South.Park_S12_E01_Tonsil.Trouble.avi")
            hashCode = System.Security.Cryptography.MD5.Create.ComputeHash(stream)
        End Using
        Console.WriteLine(Convert.ToBase64String(hashCode))
    End Sub
End Module


Похоже хэш потом ещё раз загоняют в кодирование по какому-то ещё одному одному алг. шифр. :) Base64. Так как цель - проверить хэш, а не пароль, то это не нужно.
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Сколько весит файл

Сообщение FireFenix » 06.12.2010 (Пн) 16:42

Как всё пИчально...

После функции хеширования ты получаешь массив hashCode As Byte()
Так почему бы его не сравнивать с эталонным, который получается после хеширования исходного файла?
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 06.12.2010 (Пн) 17:10

Ну, я пример привёл.

А в строку Byte() придётся перевести. Ищу щас соответствующую функцию. А эталонная строка-хэш будет скачиваться с интернета.

---Added:
Понял, что Base64 не шифровка :)

---
Ну так как, Хакер, теперь нормально? Спасибо тебе и Игроку.
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Банкир
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 07.12.2010 (Вт) 14:39

Re: Сколько весит файл

Сообщение Банкир » 07.12.2010 (Вт) 16:40

Хакер писал(а):Вот 8-битоый компьютер:
Изображение


я помню на таком в школе играл :)) в какие то гонки :)

arthur2
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1688
Зарегистрирован: 23.01.2008 (Ср) 14:35

Re: Сколько весит файл

Сообщение arthur2 » 07.12.2010 (Вт) 22:09

ndemidov писал(а):А в строку Byte() придётся перевести. Ищу щас соответствующую функцию


Код: Выделить всё
dim b() as byte, s as string,t as string
s="lalala"
b=s
debug.print b(0);b(1);b(2);b(3)'и т. д.
t=b
debug.print t
:lol:
Артур
 
   

ndemidov
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 14.11.2007 (Ср) 16:23
Откуда: Earth planet

Re: Сколько весит файл

Сообщение ndemidov » 07.12.2010 (Вт) 23:56

Вообще я просто написал, сказать что делаю :)

Я уже сделал по старинке - прогонкой массива в цикле. И в примере так же делают.

Хотел уж было ознакомиться с новым знанием синтаксиса ЯП, что любопытно. Заметил странные точки с запятыми...

При:
Код: Выделить всё
Dim b() As Byte, s As String, t As String
        s = "lalala"
        b = s


b=s -- VB.NET (VS2008) выдаёт ошибку "Value of type 'String' cannot be converted to '1-dimensional Array of byte'."
Видимо ты на C# писал и поэтому код не работает или из-за версии студии.

Правда я так и не разобрался в этом базовом синтаксисе :) Представляю, конечно, что-то но... может завтра ознакомлюсь.

---
Кстати, хотел спросить: в функцию-то MD5 для хэширования что вставлять? Я вставляю байты файла. Правильно?
Последний раз редактировалось ndemidov 08.12.2010 (Ср) 0:19, всего редактировалось 3 раз(а).
Большинство людей не понимает, что великое многообразие и красочность мира будут служить им крепчайшей душевной поддержкой на протяжении всей жизни. Иван Ефремов

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Сколько весит файл

Сообщение Хакер » 08.12.2010 (Ср) 0:06

Вот ведь как дотнет разжижжает мозг.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

След.

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList