UNPKG

@nuintun/qrcode

Version:

A pure JavaScript QRCode encode and decode library.

79 lines (74 loc) 2.17 kB
/** * @module QRCode * @package @nuintun/qrcode * @license MIT * @version 5.0.2 * @author nuintun <nuintun@qq.com> * @description A pure JavaScript QRCode encode and decode library. * @see https://github.com/nuintun/qrcode#readme */ 'use strict'; const utils = require('./utils.cjs'); /** * @module mapping */ const GB2312_MAPPING = utils.getMappingFromEncodingRanges( 'gb2312', [0xa1a1, 0xa1fe], [0xa2b1, 0xa2e2], [0xa2e5, 0xa2ee], [0xa2f1, 0xa2fc], [0xa3a1, 0xa3fe], [0xa4a1, 0xa4f3], [0xa5a1, 0xa5f6], [0xa6a1, 0xa6b8], [0xa6c1, 0xa6d8], [0xa7a1, 0xa7c1], [0xa7d1, 0xa7f1], [0xa8a1, 0xa8ba], [0xa8c5, 0xa8e9], [0xa9a4, 0xa9ef], ...utils.getSerialEncodinRanges(0xb0a1, 0xd6fe, [0, 93]), [0xd7a1, 0xd7f9], ...utils.getSerialEncodinRanges(0xd8a1, 0xf7fe, [0, 93]) ); const SHIFT_JIS_MAPPING = utils.getMappingFromEncodingRanges( 'shift-jis', [0x8140, 0x817e], [0x8180, 0x81ac], [0x81b8, 0x81bf], [0x81c8, 0x81ce], [0x81da, 0x81e8], [0x81f0, 0x81f7], [0x81fc, 0x81fc], [0x824f, 0x8258], [0x8260, 0x8279], [0x8281, 0x829a], [0x829f, 0x82f1], [0x8340, 0x837e], [0x8380, 0x8396], [0x839f, 0x83b6], [0x83bf, 0x83d6], [0x8440, 0x8460], [0x8470, 0x847e], [0x8480, 0x8491], [0x849f, 0x84be], [0x889f, 0x88fc], ...utils.getSerialEncodinRanges(0x8940, 0x97fc, [0, 62, 64, 188]), [0x9840, 0x9872], [0x989f, 0x98fc], ...utils.getSerialEncodinRanges(0x9940, 0x9ffc, [0, 62, 64, 188]), ...utils.getSerialEncodinRanges(0xe040, 0xe9fc, [0, 62, 64, 188]), [0xea40, 0xea7e], [0xea80, 0xeaa4] ); const NUMERIC_CHARACTERS = '0123456789'; const NUMERIC_MAPPING = utils.getMappingFromCharacters(NUMERIC_CHARACTERS); const ALPHANUMERIC_CHARACTERS = `${NUMERIC_CHARACTERS}ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`; const ALPHANUMERIC_MAPPING = utils.getMappingFromCharacters(ALPHANUMERIC_CHARACTERS); exports.ALPHANUMERIC_CHARACTERS = ALPHANUMERIC_CHARACTERS; exports.ALPHANUMERIC_MAPPING = ALPHANUMERIC_MAPPING; exports.GB2312_MAPPING = GB2312_MAPPING; exports.NUMERIC_CHARACTERS = NUMERIC_CHARACTERS; exports.NUMERIC_MAPPING = NUMERIC_MAPPING; exports.SHIFT_JIS_MAPPING = SHIFT_JIS_MAPPING;