'Show Base64 offsets' operation show supports base64 input. Closes #276

This commit is contained in:
n1474335 2018-08-24 00:32:52 +01:00
parent 00058bd5c7
commit 61f2f2d2e3
2 changed files with 11 additions and 1 deletions

View File

@ -81,6 +81,7 @@ export function fromBase64(data, alphabet="A-Za-z0-9+/=", returnType="string", r
return returnType === "string" ? "" : []; return returnType === "string" ? "" : [];
} }
alphabet = alphabet || "A-Za-z0-9+/=";
alphabet = Utils.expandAlphRange(alphabet).join(""); alphabet = Utils.expandAlphRange(alphabet).join("");
const output = []; const output = [];

View File

@ -36,6 +36,11 @@ class ShowBase64Offsets extends Operation {
name: "Show variable chars and padding", name: "Show variable chars and padding",
type: "boolean", type: "boolean",
value: true value: true
},
{
name: "Input format",
type: "option",
value: ["Raw", "Base64"]
} }
]; ];
} }
@ -46,7 +51,11 @@ class ShowBase64Offsets extends Operation {
* @returns {html} * @returns {html}
*/ */
run(input, args) { run(input, args) {
const [alphabet, showVariable] = args; const [alphabet, showVariable, format] = args;
if (format === "Base64") {
input = fromBase64(Utils.byteArrayToUtf8(input), null, "byteArray");
}
let offset0 = toBase64(input, alphabet), let offset0 = toBase64(input, alphabet),
offset1 = toBase64([0].concat(input), alphabet), offset1 = toBase64([0].concat(input), alphabet),