npm.io
2.0.36 • Published 5 months ago

iconv-jschardet

Licence
ISC
Version
2.0.36
Deps
5
Size
105 kB
Vulns
0
Weekly
0
Stars
2

iconv-jschardet

JavaScript 字符編碼轉換與自動檢測工具 (支援 iconv-lite, jschardet) / Character encoding conversion and auto-detection tool in JavaScript (supports iconv-lite, jschardet)

安裝 / Installation

npm install iconv-jschardet
yarn add iconv-jschardet
pnpm add iconv-jschardet

功能特色 / Features

  • 自動編碼檢測 - 使用 jschardet 自動識別文本編碼 / Auto-detection of text encoding using jschardet
  • 多編碼支援 - 支援 Big5、GBK、UTF-8、ASCII 等多種編碼 / Support for multiple encodings including Big5, GBK, UTF-8, ASCII
  • Buffer 轉換 - 提供靈活的 Buffer 轉換功能 / Flexible Buffer conversion capabilities
  • TypeScript 支援 - 完整的 TypeScript 類型定義 / Complete TypeScript type definitions
  • Node.js 相容 - 與 Node.js 原生 Buffer API 完全相容 / Fully compatible with Node.js native Buffer API

使用範例 / Usage Examples

基本匯入 / Basic Import
import * as iconv from 'iconv-jschardet';

// 或使用預設匯入 / Or use default import
import iconv from 'iconv-jschardet';
BufferFrom - 多格式轉換 / BufferFrom - Multi-format Conversion
const BIG5_HEX = 'a6b8b160a5ceb0eaa672bcd0b7c7a672c5e9aaed';

// 轉換為 UTF-8 Buffer / Convert to UTF-8 Buffer
iconv.BufferFrom(Buffer.from(BIG5_HEX, 'hex'), 'utf8')
iconv.BufferFrom(BIG5_HEX, 'utf8', 'hex')

// 轉換為 Big5 Buffer / Convert to Big5 Buffer
iconv.BufferFrom(Buffer.from(BIG5_HEX, 'hex'), 'big5')
iconv.BufferFrom(BIG5_HEX, 'big5', 'hex')
編碼檢測與轉換 / Encoding Detection and Conversion
const BIG5_STR = "\xa6\xb8\xb1\x60\xa5\xce\xb0\xea\xa6\x72\xbc\xd0\xb7\xc7\xa6\x72\xc5\xe9\xaa\xed";
const BIG5_BUF = Buffer.from('a6b8b160a5ceb0eaa672bcd0b7c7a672c5e9aaed', 'hex');

const BIG5_UTF8_BUF = Buffer.from('e6 ac a1 e5 b8 b8 e7 94 a8 e5 9c 8b e5 ad 97 e6 a8 99 e6 ba 96 e5 ad 97 e9 ab 94 e8 a1 a8'.replace(/\s/g, ''), 'hex');
// 編碼檢測 / Encoding Detection
// 同等於 jschardet.detect
// Equivalent to jschardet.detect
iconv.detect(BIG5_STR);
iconv.detect(BIG5_BUF);

// 編碼轉換 / Encoding Conversion
// Big5 Buffer
iconv.encode(BIG5_STR, 'big5');
iconv.encode(BIG5_BUF, 'big5');

// UTF-8 Buffer
iconv.encode(BIG5_STR, 'utf8');
iconv.encode(BIG5_BUF, 'utf8');

// UTF-8 字串
iconv.decode(BIG5_STR);
iconv.decode(BIG5_BUF);
進階功能 / Advanced Features
// 停用解碼警告 / Disable decode warnings
iconv.skipDecodeWarning(bool: boolean = true)

// 停用編碼資料警告 / Disable codec data warnings
iconv.disableCodecDataWarn(bool: boolean = true)

API 文件 / API Documentation

主要函數 / Main Functions
detect(str, plus?: boolean): IDetectData

自動檢測輸入內容的編碼格式 Automatically detect the encoding format of input content

encode(str, to: vEncoding, from?: vEncoding, options?: IOptionsIconvLite): Buffer

將輸入內容轉換為指定編碼的 Buffer Convert input content to Buffer with specified encoding

decode(str, from?: vEncoding): string

將輸入內容解碼為字串 Decode input content to string

BufferFrom(str, encoding?: vEncoding, from?: vEncoding, options?: IOptionsIconvLite): Buffer

將多種格式的輸入轉換為 Buffer Convert various input formats to Buffer

skipDecodeWarning(bool?: boolean): boolean

控制是否顯示解碼警告 Control whether to display decode warnings

disableCodecDataWarn(bool?: boolean): boolean

控制是否顯示編碼資料警告 Control whether to display codec data warnings

  • fs-iconv - 檔案系統編碼處理 / File system encoding handling
  • iconv-lite - 輕量級編碼轉換 / Lightweight encoding conversion
  • jschardet - 編碼自動檢測 / Automatic encoding detection

貢獻 / Contributing

歡迎提交 Issue 和 Pull Request!

Welcome to submit Issues and Pull Requests!

授權 / License

ISC

Keywords