Files
Desktop/scripts/utils/utf16ToEmoji.mjs
T
2026-04-02 13:20:15 -07:00

18 lines
423 B
JavaScript

// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
// @ts-check
/**
* @param {string} utf16
* @returns {string}
*/
export function utf16ToEmoji(utf16) {
/** @type {Array<number>} */
const codePoints = [];
const buf = Buffer.from(utf16, 'hex');
for (let i = 0; i < buf.length; i += 2) {
codePoints.push(buf.readUint16BE(i));
}
return String.fromCodePoint(...codePoints);
}