Uint8Array 데이터의 문자 인코딩을 판별합니다.
| 인자 |
설명 |
타입 |
string |
판별된 인코딩 |
string |
| 매개변수 |
설명 |
타입 |
기본값 |
uint8Array |
판별할 데이터 |
Uint8Array |
필수 |
import { checkEncoding } from 'ranuts';
const data = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]); // "Hello"
const encoding = checkEncoding(data);
console.log(encoding); // 'UTF-8' 등 판별된 인코딩
import { checkEncoding } from 'ranuts';
async function detectFileEncoding(file) {
const arrayBuffer = await file.arrayBuffer();
const uint8Array = new Uint8Array(arrayBuffer);
const encoding = checkEncoding(uint8Array);
return encoding;
}
import { checkEncoding } from 'ranuts';
function decodeText(uint8Array) {
const encoding = checkEncoding(uint8Array);
const decoder = new TextDecoder(encoding);
return decoder.decode(uint8Array);
}
- 의존성: 인코딩 판별에
jschardet 라이브러리를 사용합니다.
- 기본 인코딩: 판별에 실패하면
'utf-8'로 처리합니다.
- 정확도: 인코딩 판별이 100% 정확하지는 않으며, 특히 짧은 글에서는 빗나가기 쉽습니다.
- 활용: 파일 처리, 텍스트 디코딩, 문자 인코딩 변환 등에 흔히 쓰입니다.