Nó phụ thuộc vào những gì bạn sử dụng để phân tích nó, người ta có thể lập luận rằng việc bỏ đi các số 0 ở tiền tố là hoàn toàn hợp lệ và đó là điều chúng tôi làm hầu hết thời gian vì không có định nghĩa về số lượng chữ số nên có.
Tuy nhiên, nếu chúng tôi bỏ qua phần về việc điều này có hợp lệ hay không và tại sao hay không và thay vào đó hỏi "Làm cách nào để tôi có được điều này ở định dạng mong muốn", chúng tôi có thể đưa ra câu trả lời.
Trong trường hợp này isc có một bài viết KB về nó
Đây không phải là một lỗi. Vấn đề là hàm nhị phân sang ascii không "biết" bất cứ điều gì về mục đích sử dụng của các chữ số nhị phân đã chuyển đổi và việc bao gồm các số 0 đứng đầu khi in các giá trị số là điều bất thường.
Tuy nhiên, với một chút thao tác bổ sung, bạn vẫn có thể nhận được kết quả mong muốn:
đặt foo = concat (
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,1,1))),2), ":",
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,2,1))),2), ":",
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,3,1))),2), ":",
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,4,1))),2), ":",
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,5,1))),2), ":",
hậu tố (concat ("0", nhị phân thành ascii (16, 8, "", chuỗi con(phần cứng,6,1))),2)
);
(Nó hoạt động bằng cách chuyển đổi riêng biệt từng "thành phần", thêm số 0 đứng trước nó (trong trường hợp cần thêm một số); lấy hai ký tự hex cuối cùng, sau đó nối lại tất cả chúng với nhau.)