Чтение числа прямо в нужном порядке байт — без unsafe и ручной сборки

16.06.2026

У трейта чтения появились методы, читающие число целиком сразу в выбранном порядке байт — младшем или старшем. Метод стабилен.

Какая была запись

Разбор двоичного формата требует читать байты в буфер и собирать из них число, учитывая порядок. Наивная сборка через целочисленное сложение работает только для известного порядка и известного размера; универсальный вариант требует преобразования из среза байт, и тот тоже нужно призывать явно.

Получалось два вызова и буфер, объявленный отдельно, хотя его размер известен точно.

Что добавили

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

Набор допустимых типов намеренно ограничен тем, что имеет однозначное представление в памяти. Обобщённый код работает только с этими типами, а не с любым, — зато для каждого из них поведение определено, а не зависит от того, как компилятор решил представить число.

Оригинал

add io::Read::read_le and io::Read::read_be

Упоминаний: 1 · Просмотров: 5