Files
infocom-systems-design/node_modules/b4a/lib/utf16le.js
2025-10-03 22:27:28 +03:00

41 lines
641 B
JavaScript

function byteLength(string) {
return string.length * 2
}
function toString(buffer) {
const len = buffer.byteLength
let result = ''
for (let i = 0; i < len - 1; i += 2) {
result += String.fromCharCode(buffer[i] + buffer[i + 1] * 256)
}
return result
}
function write(buffer, string) {
const len = buffer.byteLength
let units = len
for (let i = 0; i < string.length; ++i) {
if ((units -= 2) < 0) break
const c = string.charCodeAt(i)
const hi = c >> 8
const lo = c % 256
buffer[i * 2] = lo
buffer[i * 2 + 1] = hi
}
return len
}
module.exports = {
byteLength,
toString,
write
}