From 27a463b88fa09d9232fb5eb4478b1623d64ce40d Mon Sep 17 00:00:00 2001 From: mrhso Date: Sat, 2 Dec 2023 16:26:02 +0800 Subject: [PATCH] fix: numeric mode --- js/main.js | 8 ++++---- js/sqrd.js | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/js/main.js b/js/main.js index 8047a54..57d70ae 100644 --- a/js/main.js +++ b/js/main.js @@ -1232,20 +1232,20 @@ function generateDataBlocks(){ if(k == Math.floor((data_length + 2) / 3) - 1){ if(data_length % 3 == 0){ temp_value = data_block.substring(0,10); - temp_decoded = parseInt(data_block.substring(0,10), 2); + temp_decoded = parseInt(data_block.substring(0,10), 2).toString().padStart(3, "0"); data_block = data_block.substring(10); } else if(data_length % 3 == 1){ temp_value = data_block.substring(0,4); - temp_decoded = parseInt(data_block.substring(0,4), 2); + temp_decoded = parseInt(data_block.substring(0,4), 2).toString(); data_block = data_block.substring(4); } else { temp_value = data_block.substring(0,7); - temp_decoded = parseInt(data_block.substring(0,7), 2); + temp_decoded = parseInt(data_block.substring(0,7), 2).toString().padStart(2, "0"); data_block = data_block.substring(7); } } else { temp_value = data_block.substring(0,10); - temp_decoded = parseInt(data_block.substring(0,10), 2); + temp_decoded = parseInt(data_block.substring(0,10), 2).toString().padStart(3, "0"); data_block = data_block.substring(10); } diff --git a/js/sqrd.js b/js/sqrd.js index d4795a0..dab7899 100644 --- a/js/sqrd.js +++ b/js/sqrd.js @@ -913,20 +913,20 @@ function QRDecode(data){ 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); }