Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,844 questions

51,765 answers

573 users

How to XOR byte arrays in TypeScript

1 Answer

0 votes
function xorBytes(a: Uint8Array, b: Uint8Array): Uint8Array {
    const result: Uint8Array<ArrayBuffer> = new Uint8Array(a.length);
    
    for (let i: number = 0; i < a.length; i++) {
        result[i] = a[i] ^ b[i];
    }
    
    return result;
}

function printBitsetArray(label: string, array: Uint8Array): void {
    let output: string = label + ": ";
    
    for (const byte of array) {
        output += byte.toString(2).padStart(8, '0') + " ";
    }
    
    console.log(output);
}

// Initialize arrays using ASCII codes
const a: Uint8Array = new Uint8Array([..."Aeryn"].map(ch => ch.charCodeAt(0)));
const b: Uint8Array = new Uint8Array([..."Albus"].map(ch => ch.charCodeAt(0)));

const c: Uint8Array = xorBytes(a, b);

printBitsetArray("a", a);
printBitsetArray("b", b);
printBitsetArray("c", c);

let s: string = "";
for (const byte of c) {
    s += byte + " ";
}
console.log("c: " + s);


 
/*
run:
 
"a: 01000001 01100101 01110010 01111001 01101110 " 
"b: 01000001 01101100 01100010 01110101 01110011 " 
"c: 00000000 00001001 00010000 00001100 00011101 " 
"c: 0 9 16 12 29 " 
 
*/

 



answered Jul 12, 2025 by avibootz

Related questions

1 answer 65 views
65 views asked Jul 12, 2025 by avibootz
1 answer 93 views
1 answer 64 views
64 views asked Jul 12, 2025 by avibootz
1 answer 72 views
72 views asked Jul 12, 2025 by avibootz
1 answer 73 views
73 views asked Jul 12, 2025 by avibootz
1 answer 78 views
1 answer 63 views
...