|
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
|
||||||
Аналог PHP функции unpack в Java06.11.2013, 08:40. Показов 1807. Ответов 6
Метки нет (Все метки)
Здравствуйте!Подскажите, пожалуйста ,есть ли в Java какой-либо аналог функции unpack (по шаблону "f3") из php?
Если не ошибаюсь, шаблон указывает на то, что функция должна считать из бинарного файла переменную с плавающей точкой размером 3 байта. Использовался ранее примерно такой код:
Как реализовать функцию unpack в Java?
0
|
||||||
| 06.11.2013, 08:40 | |
|
Ответы с готовыми решениями:
6
Аналог PHP-функций pack/unpack
|
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
| 06.11.2013, 10:48 | |
|
А ничего, что в java переменна double занимает 8 байтов? И что такое "шаблон f3" - знают только разработчики php.
0
|
|
|
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
|
||
| 06.11.2013, 11:18 [ТС] | ||
|
В общем мне было бы достаточно примера кода, забирающего из бинарного файла с позиции n переменную с плавающей точкой размером l. Пока самостоятельно копаю в сторону копирования байтов в переменную из InputStream, и мне кажется,что я изобретаю велосипед Можете чем-нибудь помочь в решении задачи?
0
|
||
|
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
|
|
| 06.11.2013, 11:32 | |
|
Объясняю еще раз. В java НЕТ такого понятия, как "переменная с плавающей точкой размером l". Есть понятие "переменная с плавающей точкой". Ее размер и формат определены IEEE754 и составляют 4 байта для float и 8 для double. Все остальные фантазии Вам придется считывать по байтам и распаковывать вручную. Что такое трехбайтовая переменная с плавающей точкой - лично я без понятия. И как перевести эти три байта во что-то удобоваримое - сказать не могу. Ищите формат.
0
|
|
|
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
|
||
| 06.11.2013, 12:10 [ТС] | ||
|
PS кстати, вы правы - число действительно на 32 бита.Осталось разузнать, что означает 3 в записи из спецификации - REAL32[3].
0
|
||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 06.11.2013, 15:09 | |
|
Пара подсказок:
В похапэ pack/unpack шаблон "f3" означает "три числа типа float". Сколько во float'е байт -- платформозависимо, как следствие, эти бинарные данные непереносимы и точность вам придется подбирать опытным путем. С разбором вам поможет java.nio.ByteBuffer. Добавлено через 4 минуты А, ну и про плавающую токчу: http://docs.oracle.com/cd/E199... dberg.html Добавлено через 15 секунд А, ну и про плавающую токчу: http://docs.oracle.com/cd/E199... dberg.html
1
|
|
|
1 / 1 / 0
Регистрация: 28.10.2013
Сообщений: 25
|
|
| 07.11.2013, 08:42 [ТС] | |
|
0
|
|
| 07.11.2013, 08:42 | |
|
Помогаю со студенческими работами здесь
7
Аналог Java функции PixelGrabber в C# Аналог функции preg_match_all из php в C++
Аналог функции pack(H*, $data)php на С#
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|