https://github.com/limoer96/ncr-decode
A Tool to decode numeric character reference(NCR).
https://github.com/limoer96/ncr-decode
cli ncr ncr-string
Last synced: over 1 year ago
JSON representation
A Tool to decode numeric character reference(NCR).
- Host: GitHub
- URL: https://github.com/limoer96/ncr-decode
- Owner: Limoer96
- Created: 2019-07-27T01:35:20.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T05:14:37.000Z (over 3 years ago)
- Last Synced: 2025-03-03T17:05:33.590Z (over 1 year ago)
- Topics: cli, ncr, ncr-string
- Language: JavaScript
- Size: 640 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ncr-decode
> A Tool to decode numeric character reference(NCR).
## what is NCR?
> numeric character reference(**NCR**) is similar to **HTML Entities**. **NCR** consists of two parts. prefix: "" or "", body: Unicode code point. We offten see it in html, xml or even in dfm file(Delphi Form File).
there are some **NCR** string below:
```
宋体
中国
#23435#20307 (NRC in dfm)
```
## What's this?
1. A tool to decode NCR string;
2. A tool to decode NCR in `.dfm` file;
3. A cli to decode NCR string.
4. encode string to NCR.(new)
## Install
```bash
npm install --save ncr-decode
```
use the cli
```bash
npm install -g ncr-decode
```
see from [npm package](https://npmjs.org/package/ncr-decode).
## Usage
```javascript
const ncrd = require('ncr-decode')
console.log(ncrd.encode('宋体')) // 宋体
console.log(ncrd.encode('宋体', 16)) // 宋体
console.log(ncrd.decode('宋体')) // 宋体
console.log(ncrd.decode('Tim, 你好')) // Tim, 你好
console.log(ncrd.dfmDecode('#23435#20307')) // 宋体
console.log(ncrd.dfmDecode('宋体')) // 宋体
```
### Client
#### REPL
```
PS C:\Users\limoer\www\dfmdecode> ncrd
enter `.exit` to exit.
> 宋体
宋体
> #23435#20307
宋体
> Tom, 你好
Tom, 你好
> 123
[!invalid] 123
```
#### CLI
```
Usage: ncrd [options] []
-i, --inline
inline mode, convert the input string
NCR string or NCR string in dfm, if type the wrong type, just return.
```
### API
```javascript
/**
* numerric character reference(NCR) decode
* @param {string} str ncr string
* @return {string}
*/
function ncrDecode(str) {...}
/**
* NCR in dfm to NCR string
* @param {string} str
* @return {string}
*/
// [!Deprecated]use ncrEncode instead
// function str2NCR(str) {...}
/**
* string to NCR string
* @param {string} str
* @param {number} radix [10 || 16] default: 10
* @returns {string} NRC string
*/
function ncrEncode(str, radix = 10){...}
/**
* decode ncr in dfm
* @param {string} str
* @return {string}
*/
function dfmDecode(str) {...}
```
## ChangeLog
### v1.1.0
1. add tests.
2. new API `ncrEncode` convert string to NCR string.
3. inline CLI support, use `ncrd --inline '#23435#20307'`. **Don't forget the quotes!**