获取字符的 PC437 编码

Get PC437 encoding for character

我正在尝试获取 Javascript 中字符的 PC437 十六进制。

console.log('£'.charCodeAt(0).toString(16)) // 'a3'

if i 运行 toString(16) 我得到 'a3' 字符的 UTF-16 代码,根据此处是正确的:https://en.wikipedia.org/wiki/Code_page_437

但是我需要为该特定字符获取 'c9',这将是该字符的 PC437 十六进制解释?

我为旧版 CP437(CCSID 437) table 发布了一个简单的软件包。 cp437

用法:

const cp437 = require('cp437')

// find by symbol
console.log('// find by symbol')
console.log(`('£', 'hex') -> ${cp437.bySymbol('£', 'hex')}`)
console.log(`('£', 'dec') -> ${cp437.bySymbol('£', 'dec')}`)
console.log(`('â', 'hex') -> ${cp437.bySymbol('â', 'hex')}`)
console.log(' ')

// find by hex
console.log('// find by hex')
console.log(`('B0', 'symbol') -> ${cp437.byHex('B0', 'symbol')}`)
console.log(`('EC', 'symbol') -> ${cp437.byHex('EC', 'symbol')}`)
console.log(' ')

// find by dec
console.log('// find by dec')
console.log(`('175', 'symbol') -> ${cp437.byDec('175', 'symbol')}`)
console.log(`('155', 'hex') -> ${cp437.byDec('155', 'hex')}`)

输出:

// find by symbol
('£', 'hex') -> 9C
('£', 'dec') -> 156
('â', 'hex') -> 83

// find by hex
('B0', 'symbol') -> ░
('EC', 'symbol') -> ∞

// find by dec
('175', 'symbol') -> »
('155', 'hex') -> 9B