From 480b27a248a11de3112a2c5f25e0653594a1d6e8 Mon Sep 17 00:00:00 2001 From: mrhso Date: Thu, 21 Dec 2023 00:21:38 +0800 Subject: [PATCH] fix: numeric mode for RS decoder --- js/sqrd.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/js/sqrd.js b/js/sqrd.js index dab7899..c3c6370 100644 --- a/js/sqrd.js +++ b/js/sqrd.js @@ -1173,20 +1173,20 @@ function readDataBits(data_bits){ for(var i=0; i < Math.floor((length + 2) / 3); i++){ if(i == Math.floor((length + 2) / 3) - 1){ if(length % 3 == 0){ - num += parseInt(data_bits.substring(0,10), 2); + num += parseInt(data_bits.substring(0,10), 2).toString().padStart(3, "0"); temp_data += data_bits.substring(0,10); data_bits = data_bits.substring(10); } else if(length % 3 == 1){ - num += parseInt(data_bits.substring(0,4), 2); + num += parseInt(data_bits.substring(0,4), 2).toString(); temp_data += data_bits.substring(0,4); data_bits = data_bits.substring(4); } else { - num += parseInt(data_bits.substring(0,7), 2); + num += parseInt(data_bits.substring(0,7), 2).toString().padStart(2, "0"); temp_data += data_bits.substring(0,7); data_bits = data_bits.substring(7); } } else { - num += parseInt(data_bits.substring(0,10), 2); + num += parseInt(data_bits.substring(0,10), 2).toString().padStart(3, "0"); temp_data += data_bits.substring(0,10); data_bits = data_bits.substring(10); }