Это зависит от того, что вы используете для его анализа, можно утверждать, что вполне допустимо опускать нули префикса, и это то, что мы делаем большую часть времени, потому что нет определения того, сколько цифр должно быть.
Однако, если мы пропустим часть о том, является ли это недействительным и почему, и вместо этого спросим: «Как мне получить это в желаемом формате», мы можем дать ответ.
В таком случае isc имеет об этом статью в базе знаний
Это не ошибка. Проблема в том, что функция преобразования двоичного кода в ASCII ничего не «знает» о предполагаемом использовании преобразованных двоичных цифр, и необычно включать начальные нули при печати числовых значений.
Однако с небольшими дополнительными манипуляциями все же можно получить желаемый результат:
установить foo = concat (
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 1,1))), 2), ":",
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 2,1))), 2), ":",
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 3,1))), 2), ":",
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 4,1))), 2), ":",
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 5,1))), 2), ":",
суффикс (concat ("0", двоичный код в ASCII (16, 8, "", подстрока (аппаратное обеспечение, 6,1))), 2)
);
(Он работает путем преобразования каждого «компонента» по отдельности, добавления к нему начального нуля (в случае, если он необходим); берется два последних шестнадцатеричных символа, а затем снова объединяется все вместе.)