blob: 4bb114ddd8a5523152a01f7f78cd898bc2efde81 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
title: ASCII and Hex converter
has_children: false
nav_order: 6
description: Tool for converter ASCII and Hex
layout: default
---
<h1>ASCII To Hex</h1>
<form id="ascii-to-hex">
<div class="form-floating mb-3">
<input type="text" class="form-control" placeholder="ASCII" name="ascii-to-hex" id="ascii-to-hex" >
<label for="ascii-to-hex">ASCII</label>
</div>
<div class="form-floating mb-3">
<input type="text" class="form-control" placeholder="Glue" name="ascii-to-hex-glue" id="ascii-to-hex-glue" value=" ">
<label for="ascii-to-hex-glue">Glue/Separator (empty for the format 0x0123456789ABCDE, ` ` for the format 0x01 0x23 0x45 0x67 0x89 0xAB 0xCD 0xEF)</label>
</div>
<div class="mb-3">
<input type="submit" class="btn btn-primary" value="Calculate!">
</div>
<div class="form-floating mb-3">
<input readonly class="form-control" type="text" id="hex-result" placeholder="HEX Result">
<label for="hex-result">HEX Result</label>
</div>
</form>
<h1>Hex To ASCII</h1>
<form id="hex-to-ascii">
<div class="form-floating mb-3">
<input type="text" class="form-control" placeholder="HEX" name="hex-to-ascii" id="hex-to-ascii">
<label for="hex-to-ascii">HEX</label>
</div>
<div class="form-floating mb-3">
<input type="text" class="form-control" placeholder="Separator" name="hex-to-ascii-separator" id="hex-to-ascii-separator" value=" ">
<label for="hex-to-ascii-separator">Glue/Separator (empty for the format 0x0123456789ABCDEF, ` ` for the format 0x01 0x23 0x45 0x67 0x89 0xAB 0xCD 0xEF)</label>
</div>
<div class="mb-3">
<input type="submit" class="btn btn-primary" value="Calculate!">
</div>
<div class="form-floating mb-3">
<input readonly class="form-control" type="text" id="ascii-result" placeholder="ASCII Result">
<label for="ascii-result">ASCII Result</label>
</div>
</form>
<script>
function getChunks(s, i) {
var a = [];
do{ a.push(s.substring(0, i)) } while( (s = s.substring(i)) != "" );
return a;
}
var asciiToHexForm = document.getElementById('ascii-to-hex');
asciiToHexForm.addEventListener('submit',(event) => {
event.preventDefault();
var fomrdata = new FormData(asciiToHexForm);
var str = fomrdata.get('ascii-to-hex');
var glue = fomrdata.get('ascii-to-hex-glue');
var prefixi = glue !== "" ? "0x" : "";
var prefix = glue === "" ? "0x" : "";
var hex = prefix + ([...str].map((elem, n) => prefixi+Number(str.charCodeAt(n)).toString(16)).join(glue));
document.getElementById('hex-result').value = hex;
});
var hexToAsciiForm = document.getElementById('hex-to-ascii');
hexToAsciiForm.addEventListener('submit',(event) => {
event.preventDefault();
var fomrdata = new FormData(hexToAsciiForm);
var str = fomrdata.get('hex-to-ascii');
var separator = fomrdata.get('hex-to-ascii-separator');
var ascii = separator === "" ? getChunks(str.substring(2),2).map(el => String.fromCharCode(parseInt(el, 16))).join('') : str.split(separator).map(el => String.fromCharCode(Number(el))).join('');
document.getElementById('ascii-result').value = ascii;
});
</script>
|