LINUX.ORG.RU

Я дико извиняюсь, но вопрос про javascript: binary input stream?

 ,


0

1

Всем привет. Вижу примеры jquery ajax, возвращающие ArrayBuffer, вижу DataView, но это всё какая-то убогая низкоуровневщина. А хочется любви такого:

$.ajax(...).done(function (binaryData) {
    let is = new ByteArrayInputStream(binaryData);  // так в жаве класс называеццо
    is.readChar();
    is.readInt8();
    is.readInt16();
    is.readInt32();
    is.readString();  // это и сам нарисую: e.g. int16 длина + chars
});

Может есть чё готовое на эту тему? Только маленькое, не хочу монструозные фреймворки в зависимости пихать.

★★★★★

Ответ на: комментарий от dimgel

ну или та же, но с расширенными фичами

Если та же, то там тот же js под капотом, а почему должно быть что-то другое?

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Ну с int8/16/32 надо же как-то работать, а они превращаются в number (который double), если их присвоить к переменной.

Из за этого разве может быть потеря точности? Вроде в number эти числа целиком помещаются без потерь.

monk ★★★★★
()
Ответ на: комментарий от monk

Из за этого разве может быть потеря точности?

Нет, но это же будет не int8, а аж целый double. Ему там надо сдвигать биты, а тут такое осквернение.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Нет, но это же будет не int8, а аж целый double. Ему там надо сдвигать биты, а тут такое осквернение.

Так это же не в сети, а в памяти. int8 нужен при записи на диск и отправке в сеть.

monk ★★★★★
()
Ответ на: комментарий от monk

Так это же не в сети, а в памяти.

Именно! Как можно жить спокойно, когда js делает такие касты каждую итерацию!

crutch_master ★★★★★
()
Ответ на: комментарий от dimgel

А можно вот такой тогда вопрос? А какая тут тема форума? Ты пишешь в ветку разработки, если на этом можно писать код, который в принципе работает и дает какой-то результат, то почему нет?

deterok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.