Чтение числа прямо в нужном порядке байт — без unsafe и ручной сборки
16.06.2026У трейта чтения появились методы, читающие число целиком сразу в выбранном порядке байт — младшем или старшем. Метод стабилен.
Какая была запись
Разбор двоичного формата требует читать байты в буфер и собирать из них число, учитывая порядок. Наивная сборка через целочисленное сложение работает только для известного порядка и известного размера; универсальный вариант требует преобразования из среза байт, и тот тоже нужно призывать явно.
Получалось два вызова и буфер, объявленный отдельно, хотя его размер известен точно.
Что добавили
Один вызов, который сам создаёт буфер нужного размера на стеке, читает в него и собирает число. Порядок передаётся аргументом, размер выводится из типа.
Набор допустимых типов намеренно ограничен тем, что имеет однозначное представление в памяти. Обобщённый код работает только с этими типами, а не с любым, — зато для каждого из них поведение определено, а не зависит от того, как компилятор решил представить число.
Оригинал
add io::Read::read_le and io::Read::read_be
Упоминаний: 1 · Просмотров: 5