Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350

Работа с байтовыми потоками

10.07.2012, 18:06. Показов 1866. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Столкнулся с такой проблемой , имеется файл(песня mp3) необходим считать из него скажем первые 10 байт и потом вывести их на экран в виде читаемого! текста... Не могу разобраться как это сделать с байтовыми потоками как то не работал раньше...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.07.2012, 18:06
Ответы с готовыми решениями:

работа с потоками
При работе с методом выдает ошибку: "Недопустимая операция в нескольких потоках: попытка доступа к элементу управления...

Работа с потоками
Доброе время суток подскажите пож как реализовать : "Шарики. Координаты заданного количества шариков изменяются на случайную величину по...

Работа с потоками
У меня приложение через заданный интервал (в таймере) отправляет запрос на сайт и парсит ответ, при отправке запросов приложение подвисает,...

19
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
10.07.2012, 18:46
Цитата Сообщение от Sparrow44 Посмотреть сообщение
потом вывести их на экран в виде читаемого! текста...
В какой кодировке?

C#
1
2
3
4
5
6
byte[] buffer = new byte[10];
using (var reader = System.IO.File.OpenRead("bla.mp3"))
{
   int read = reader.Read(buffer, 0, buffer.Length);
   Console.WriteLine(Encoding.ASCII.GetString(buffer, 0, read);
}
2
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
10.07.2012, 20:36  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
В какой кодировке?
Да в принципе не суть важно... Лишь бы текст был читаем а не иероглифами..

Добавлено через 18 минут
Вот еще обратил внимание почему у Encoding так мало различных кодировок? Мне нужно например windows-1251 а там такой и не пахло ((
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
10.07.2012, 22:43
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Да в принципе не суть важно... Лишь бы текст был читаем а не иероглифами..
Дык чтобы текст не был иероглифами, нужно знать в какой кодировке он хранится.

Цитата Сообщение от Sparrow44 Посмотреть сообщение
почему у Encoding так мало различных кодировок?
Потому что из "готовых" кодировок перечислены наиболее часто используемые. Никто не будет добавлять статическим классом кодировку для всяких папуасов.
Любую другую можно получить через метод GetEncoding, передав параметром имя или код:
C#
1
var cp1251 = Encoding.GetEncoding(1251);
1
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
10.07.2012, 23:06
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Да в принципе не суть важно... Лишь бы текст был читаем а не иероглифами..
объясни что в твоем понимании читаемый текст? я к тому что считаные байты могут не иметь печатного представления особенно в mp3-файле (разве что какой-то текст из тегов)
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
10.07.2012, 23:11  [ТС]
Цитата Сообщение от SalterOk Посмотреть сообщение
объясни что в твоем понимании читаемый текст? я к тому что считаные байты могут не иметь печатного представления особенно в mp3-файле (разве что какой-то текст из тегов)
Ну это и есть цель , считать теги mp3...
0
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
10.07.2012, 23:32
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Ну это и есть цель , считать теги mp3...
так для этого стоит использовать готовые библиотеки специально созданые для работы с тегами а не писать заново да еще и таким образом...
например та же taglib sharp
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
10.07.2012, 23:41  [ТС]
Цитата Сообщение от SalterOk Посмотреть сообщение
так для этого стоит использовать готовые библиотеки специально созданые для работы с тегами а не писать заново да еще и таким образом...
например та же taglib sharp
Готовая библиотека у меня есть дело в том, что я для себя хочу разобраться как это делается =)) для общего так сказать развития
0
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
10.07.2012, 23:53
ну тогда совсем не в ту сторону смотришь - "читаемые" строки это очень частный случай в основном там будет бессмысленные (для перевода в строку) последовательности байт
для начала нужно бы почитать про структуру самого файла (mp3 я полагаю)
так как русская версия седня прикрыта http://en.wikipedia.org/wiki/MP3
1
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
11.07.2012, 02:02
А конкретнее лучше почитать про ID3v1 и ID3v2 теги.
В основном первые 128 байт файла это теги, здесь можно почитать об этом более подробно.
1
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
11.07.2012, 02:05  [ТС]
Вот да , я и хотел считать первые 128 байт файла потом перекодировать их в текст и там уже смотреть что к чему ... но вместо нормального текста получаю набор ромбиков и смайликов =)
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
11.07.2012, 02:17
Sparrow44, начнем с того, что кодировка там ANSI, 1 байт - 1 символ. Зачем переводить все 128 байт в текст тоже не понятно, например дата храниться с 94 по 97 байт, и имеет тип integer, а это уже как минимум в качестве строки не представить
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
11.07.2012, 02:22  [ТС]
Ну я имел в виду не все сразу а частями , там же написан( на википедии) какие именно байты за что отвечают.. т.е. название хранится с 4 по 34 байты и считать и записать как текст
0
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
11.07.2012, 02:37
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Вот да , я и хотел считать первые 128 байт файла потом перекодировать их в текст и там уже смотреть что к чему ... но вместо нормального текста получаю набор ромбиков и смайликов =)
может потому что ID3v1 скорей всего находится в конце файла
к тому же может быть ID3v2.x а там уж совсем не так
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
11.07.2012, 03:03
С ID3v2.x вообще все сложно, первые 10 байт это заголовок, в котором хранится версия тега и всякая фигня, а потом все разделено на так называемые фреймы, начинающиеся с 4 заглавных латинских символов
0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
11.07.2012, 03:36  [ТС]
Что то вы меня совсем запугали!!!
0
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
11.07.2012, 04:15
Цитата Сообщение от Sparrow44 Посмотреть сообщение
Что то вы меня совсем запугали!!!

Не по теме:

:D ну как есть... а все по причине малой стандартизации в то время
к тому же кажется уже больше 10 лет прошло после принятия последней версии

0
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
11.07.2012, 18:45  [ТС]
Так еще вопрос а теги идут сплошным блоком ? или могут быть по всему файлу раскиданы...??
0
 Аватар для SalterOk
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
11.07.2012, 20:59
конкретный тег идет "полным" (неразрывным) блоком
но при этом теги могут быть как в начале файла так и в конце и даже одновременно и там и там
как-то даже для интереса добавил в конец перед ID3v1 тегом ID3v2 тег и это при том что еще в начале был ID3v2 и все проигрывалось корректно
это к тому что пока теги не стандартизированы (почему??) то можно встретить какой угодно вариант использования
1
27 / 29 / 5
Регистрация: 20.02.2012
Сообщений: 350
11.07.2012, 23:39  [ТС]
ну тогда я думаю можно выполнить поиск по файл (искать заголовок тега) и как только его встретишь считать блок байт за ним и с ним уже работать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2012, 23:39
Помогаю со студенческими работами здесь

Работа с потоками
Здравствуйте. Проблема заключается в следующем, в параллельном потоке мне нужно чтобы label1 созданный в основном потоке, изменялся....

Работа с потоками...
Понимаю, что тема проезжена и не раз, однако спрошу:-[: Есть консольное приложение, оно занимается подсчетом сообщений. По запросу оно...

Работа с потоками
Ребята, помогите. На C# программирую недавно, про потоки слышу впервые. Подскажите как это можно реализовать в VS2005. 1. Warcraft....

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

Работа с потоками
Вообщем у меня такая ситуация. Хочу при загрузке формы запустить функцию в новом потоке. В этой функции у меня добавляются элементы,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru