How to check if an array of bytes is a valid UTF-8 string in TypeScript

1 Answer

0 votes
function isValidUTF8(data: Uint8Array): boolean {
    try {
        const decoded: string = new TextDecoder('utf-8', { fatal: true }).decode(data);
        return true;
    } catch {
        return false;
    }
}

const arr1: Uint8Array = new TextEncoder().encode("Hello, 世界");
const arr2: Uint8Array = new Uint8Array([0xa3, 0xed, 0xfd]);

console.log(isValidUTF8(arr1) ? "true" : "false");
console.log(isValidUTF8(arr2) ? "true" : "false");




/*
run:

"true" 
"false" 

*/

 



answered Jul 8, 2025 by avibootz
...