Convert a Unicode string to Live for Speed
This module is designed to be used with NodeJS on the server with an InSim library or as middleware for other LFS InSim applications. This module will parse a Unicode string, converting each character to its respective encoding supported by LFS. This module leaves message colour encodings intact for processing later.
# Install with Yarn
yarn add unicode-to-lfs
# Install with NPM
npm i unicode-to-lfs
import unicodeToLfs from "unicode-to-lfs";
const encodedString1 = unicodeToLfs("ě ш");
const encodedString2 = unicodeToLfs("マ");
console.log(encodedString1);
// Output: ^Eì ^Cø
console.log(encodedString2);
// Output: ^JÏ
To specify the maximum output byte length, use the length
option. If the output string would be trimmed
in the middle of an encoded character, that character will not be included and the string will be padded
with NULL bytes up to the specified length
.
import unicodeToLfs from "unicode-to-lfs";
const encodedString1 = unicodeToLfs("ě ш", { length: 4 });
const encodedString2 = unicodeToLfs("ě ш", { length: 7 });
console.log(encodedString1);
// Output: ^Eì\0
console.log(encodedString2);
// Output: ^Eì ^Cø
If set to true
, the output string will always end with a NULL byte.
The default value is false
.
import unicodeToLfs from "unicode-to-lfs";
const encodedString1 = unicodeToLfs("ě ш", { isNullTerminated: true });
const encodedString2 = unicodeToLfs("ě ш", {
isNullTerminated: true,
length: 7,
});
console.log(encodedString1);
// Output: ^Eì ^Cø\0
console.log(encodedString2);
// Output: ^Eì \0\0\0