From f0418bc0ed47f20df2afcaad0b87b542cc91286b Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Mon, 10 Aug 2020 15:30:59 +0800 Subject: [PATCH] finish some converter --- SuperScriptViewer/static/converter.js | 136 ++++++++++++++++++ .../templates/help/converter.html | 34 ++--- 2 files changed, 153 insertions(+), 17 deletions(-) diff --git a/SuperScriptViewer/static/converter.js b/SuperScriptViewer/static/converter.js index e69de29..c7f6ce0 100644 --- a/SuperScriptViewer/static/converter.js +++ b/SuperScriptViewer/static/converter.js @@ -0,0 +1,136 @@ +// ============================= conv 1 + +function doConv1_I2O() { + var textSp = $("#conv1Input").val().split("\n"); + var result = new Array(); + + for (var index = 0; index < textSp.length; index++) { + var lines = textSp[index]; + var successful = true; + var resultCache = new Array(); + + lineSp = lines.split(','); + var innerIndex = lineSp.length - 1; + for (var forwardIndex = 0; forwardIndex < lineSp.length; forwardIndex++) { + var words = lineSp[forwardIndex]; + words = words.trim().toLowerCase(); + if (!checkByteUnit(words)){ + resultCache.length = 0; + successful = false; + break; + } else + resultCache[innerIndex] = words; + innerIndex--; + } + + if (successful) + result[index] = resultCache.join(", "); + else + result[index] = ""; + + } + + $("#conv1Output").val(result.join("\n")); +} + +// ============================= conv 2 + +function doConv2_I2O() { + var textSp = $("#conv2Input").val().split("\n"); + var result = new Array(); + + for (var index = 0; index < textSp.length; index++) { + var lines = textSp[index]; + var successful = true; + var resultCache = ""; + + lineSp = lines.split(','); + var innerIndex = lineSp.length - 1; + for (var forwardIndex = 0; forwardIndex < lineSp.length; forwardIndex++) { + var words = lineSp[forwardIndex]; + words = words.trim().toLowerCase(); + if (!checkByteUnit(words)){ + resultCache.length = 0; + successful = false; + break; + } else + resultCache = words.substr(2, 2) + resultCache; + innerIndex--; + } + + if (successful) + result[index] = resultCache; + else + result[index] = ""; + + } + + $("#conv2Output").val(result.join("\n")); +} + +function doConv2_O2I() { + +} + +// ============================= conv 3 + +function doConv3_I2O() { + var textSp = $("#conv3Input").val().split("\n"); + var result = new Array(); + + for (var index = 0; index < textSp.length; index++) { + var lines = textSp[index]; + var successful = true; + var resultCache = ""; + + lineSp = lines.split(','); + var innerIndex = lineSp.length - 1; + for (var forwardIndex = 0; forwardIndex < lineSp.length; forwardIndex++) { + var words = lineSp[forwardIndex]; + words = words.trim().toLowerCase(); + if (!checkByteUnit(words)){ + resultCache.length = 0; + successful = false; + break; + } else + resultCache = words.substr(2, 2) + resultCache; + innerIndex--; + } + + if (successful) { + var bigInt = BigInt("0x" + resultCache); + result[index] = bigInt.toString(10); + } + else + result[index] = ""; + + } + + $("#conv3Output").val(result.join("\n")); +} + +function doConv3_O2I() { + +} + +// ============================= conv 4 + +function doConv4_I2O() { + $("#conv4Output").val($("#conv4Input").val().toUpperCase()); +} + +function doConv4_O2I() { + $("#conv4Input").val($("#conv4Output").val().toLowerCase()); +} + +// ============================= utils + +function checkByteUnit(s) { + var legalWords = "0123456789abcdefABCDEF"; + if (s.length != 4) return false; + if (s[0] != '0') return false; + if (s[1] != 'x') return false; + if (legalWords.indexOf(s[2]) == -1) return false; + if (legalWords.indexOf(s[3]) == -1) return false; + return true; +} \ No newline at end of file diff --git a/SuperScriptViewer/templates/help/converter.html b/SuperScriptViewer/templates/help/converter.html index 0d2a978..0138748 100644 --- a/SuperScriptViewer/templates/help/converter.html +++ b/SuperScriptViewer/templates/help/converter.html @@ -12,7 +12,7 @@

Converter

-

This page provide some useful converter for your decoding work. All converter is interactive..

+

This page provide some useful converter for your decoding work.


@@ -28,23 +28,23 @@ Support multi-input. Use line break to split each input.

- + - + - + - +
Input  
  
  Output
@@ -55,23 +55,23 @@ Support multi-input. Use line break to split each input.

- + - + - + - +
Byte array  
 
  HEX number
@@ -82,23 +82,23 @@ Support multi-input. Use line break to split each input.

- + - + - + - +
Byte array  
 
  DEC number
@@ -107,23 +107,23 @@

This converter will provide the convert between lowcase and upcase string. It is double interactive.

- + - + - + - +
Lowcase  
 
  Upcase