diff --git a/readers/ReaderBE.ts b/readers/ReaderBE.ts index 73a624a..84d3d19 100644 --- a/readers/ReaderBE.ts +++ b/readers/ReaderBE.ts @@ -71,4 +71,15 @@ export class ReaderBE extends ReaderBase implements IReader { return text; } + + public readString16() { + const length = this.readUShort(); + let text:string = ""; + + for (let i = 0; i < length; i++) { + text += String.fromCharCode(this.readUShort()); + } + + return text; + } } \ No newline at end of file diff --git a/readers/ReaderLE.ts b/readers/ReaderLE.ts index 4f576c3..85dbb94 100644 --- a/readers/ReaderLE.ts +++ b/readers/ReaderLE.ts @@ -71,4 +71,15 @@ export class ReaderLE extends ReaderBase implements IReader { return text; } + + public readString16() { + const length = this.readUShort(); + let text:string = ""; + + for (let i = 0; i < length; i++) { + text += String.fromCharCode(this.readUShort()); + } + + return text; + } } \ No newline at end of file diff --git a/writers/WriterBE.ts b/writers/WriterBE.ts index c2c15e1..6b79c09 100644 --- a/writers/WriterBE.ts +++ b/writers/WriterBE.ts @@ -133,4 +133,14 @@ export class WriterBE extends WriterBase implements IWriter { return this; } + + public writeString16(text:string) { + this.writeUShort(text.length); + + for (let i = 0; i < text.length; i++) { + this.writeUShort(text.charCodeAt(i)); + } + + return this; + } } \ No newline at end of file diff --git a/writers/WriterLE.ts b/writers/WriterLE.ts index 51f39ce..de8d668 100644 --- a/writers/WriterLE.ts +++ b/writers/WriterLE.ts @@ -132,4 +132,14 @@ export class WriterLE extends WriterBase implements IWriter { return this; } + + public writeString16(text:string) { + this.writeUShort(text.length); + + for (let i = 0; i < text.length; i++) { + this.writeUShort(text.charCodeAt(i)); + } + + return this; + } } \ No newline at end of file