Uint8array + slice()
This commit is contained in:
parent
a4d3150745
commit
d1ff89ae57
2 changed files with 19 additions and 11 deletions
|
|
@ -90,7 +90,7 @@
|
||||||
<script src="files/aes-js.js"></script>
|
<script src="files/aes-js.js"></script>
|
||||||
|
|
||||||
<!-- Instantly load test file (Debugging script) -->
|
<!-- Instantly load test file (Debugging script) -->
|
||||||
<script src="js/LoadJson.js"></script>
|
<!-- <script src="js/LoadJson.js"></script> -->
|
||||||
|
|
||||||
<!-- Load Save File testing -->
|
<!-- Load Save File testing -->
|
||||||
<script src="js/LoadSaveFile.js"></script>
|
<script src="js/LoadSaveFile.js"></script>
|
||||||
|
|
|
||||||
|
|
@ -15,20 +15,14 @@ function LoadSaveFile(input) {
|
||||||
// It is an array of bytes, often referred to in other languages as a "byte array".
|
// It is an array of bytes, often referred to in other languages as a "byte array".
|
||||||
|
|
||||||
// new FileReader()
|
// new FileReader()
|
||||||
// readAsArrayBuffer(file)
|
|
||||||
// addEventListener("load", function) - to decode the file when loaded
|
|
||||||
|
|
||||||
let inputReader = new FileReader();
|
let inputReader = new FileReader();
|
||||||
|
// readAsArrayBuffer(file)
|
||||||
inputReader.readAsArrayBuffer(inputFileObject);
|
inputReader.readAsArrayBuffer(inputFileObject);
|
||||||
|
// addEventListener("load", function) - to decode the file when loaded
|
||||||
inputReader.addEventListener("load", FileObjectToArrayBuffer);
|
inputReader.addEventListener("load", FileObjectToArrayBuffer);
|
||||||
|
|
||||||
// 2. Decode file
|
// 2. Decode file
|
||||||
// The slice() method copies up to, but not including, the byte indicated by the end parameter.
|
|
||||||
|
|
||||||
// Uint8Array(ArrayBuffer)
|
|
||||||
// ArrayBuffer.slice()
|
|
||||||
// remove C# header (ArrayBuffer)
|
|
||||||
// base64 Decoding (ArrayBuffer)
|
// base64 Decoding (ArrayBuffer)
|
||||||
// AES decryption (ECB) removes pkcs7 padding (ArrayBuffer)
|
// AES decryption (ECB) removes pkcs7 padding (ArrayBuffer)
|
||||||
// Convert ArrayBuffer to string/text TextDecoder().decode(ArrayBuffer)
|
// Convert ArrayBuffer to string/text TextDecoder().decode(ArrayBuffer)
|
||||||
|
|
@ -44,9 +38,23 @@ function FileObjectToArrayBuffer() {
|
||||||
let inputArrayBuffer = this.result;
|
let inputArrayBuffer = this.result;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
// Uint8Array(ArrayBuffer)
|
||||||
|
inputArrayBuffer = new Uint8Array(inputArrayBuffer);
|
||||||
|
|
||||||
|
// ArrayBuffer.slice()
|
||||||
|
// The slice() method copies up to, but not including, the byte indicated by the end parameter.
|
||||||
|
inputArrayBuffer.slice();
|
||||||
|
|
||||||
|
// remove C# header (ArrayBuffer)
|
||||||
|
|
||||||
|
|
||||||
alert(`File: ${inputArrayBuffer}`);
|
alert(`File: ${inputArrayBuffer}`);
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
alert(`The file cannot be decoded. Error: ${error}`);
|
alert(`The file cannot be read. Error: ${error}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function RemoveCSharpHeader() {
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue