UNPKG

@kayahr/text-encoding

Version:
32 lines 983 B
/* * Copyright (C) 2021 Klaus Reimer <k@ailis.de> * See LICENSE.md for licensing information. */ import euckr from "../../../data/euc-kr.cp.js"; import { AbstractEncoder } from "../AbstractEncoder.js"; import { END_OF_BUFFER } from "../ByteBuffer.js"; import { FINISHED } from "../constants.js"; import { indexOf, isASCII } from "../util.js"; /** * Encoder for euc-kr encoding. */ export class EUCKREncoder extends AbstractEncoder { /** @inheritDoc */ encode(buffer) { const codePoint = buffer.read(); if (codePoint === END_OF_BUFFER) { return FINISHED; } if (isASCII(codePoint)) { return codePoint; } const index = indexOf(euckr, codePoint); if (index == null) { return this.fail(codePoint); } const lead = Math.floor(index / 190) + 0x81; const trail = (index % 190) + 0x41; return [lead, trail]; } } //# sourceMappingURL=EUCKREncoder.js.map