티스토리 뷰
목차
JavaScript 문자 코드
원래 문자 코드가 무엇이냐면 컴퓨터에서 사용하는 0과 1 사이의 숫자로만 구성된 "기계어"를 사람이 읽을 수 있는 "문자"로 변환하기 위한 규약입니다.
자바스크립트에서 주로 사용하는 문자 코드는
- ASCII
- Unicode (UTF-8)
- EUC-KR
세 종류입니다.
JavaScript 문자 코드의 확인 방법
문자열에서 문자의 문자 코드를 확인하기 위해선 charCodeAt 메소드를 사용합니다.
문자열.charCodeAt(수치)
이렇게 확인할 수 있습니다.
인수는 대상 문자열에서 문자의 순서를 설정할 수 있습니다.
자바스크립트 문자열의 첫 번째 문자의 문자 코드를 얻습니다.
"AB가나다".charCodeAt(0)
// 65
JavaScript 문자 코드 변환(디코딩) 방법
문자 코드를 디코딩(decode)할 때 fromCharCode() 함수를 사용합니다.
String.fromCharCode(수치)
이렇게 확인할 수 있습니다.
인수 부분의 수치는 UTF-16 코드 단위를 나타내는 숫자의 순서를 설정할 수 있습니다.
범위는 0에서 65535(0xFFFF)까지입니다.
String.fromCharCode(65)
// "A"
JavaScript 문자 코드 변환(디코딩) 지원 라이브러리
encoding.js
자바스크립트에서 문자 코드 변환을 편하게 할 수 있는 라이브러리입니다.
라이브러리 로드 방법은 아래입니다.
<script src="encoding.js"></script>
로드하면 Encoding이라는 개체가 전역으로 정의됩니다. 어느 곳에서나 decode 유니코드 문자열 변환 등을 할 수 있습니다.
// UTF-8 데이터를 EUC-KR로 변환
var utf8array = ["아아아", "이이이", "우우우"];
var euckrArray = Encoding.convert(utf8Array, 'EUC-KR', 'UTF8');
// 자동으로 변환 (AUTO detect)
var euckrArray = Encoding.convert(utf8Array, 'EUC-KR');
// or
var euckrArray= Encoding.convert(utf8Array, 'EUC-KR', 'AUTO');
// 문자 코드 판별 (반환 값은 아래의 값 중 하나)
var detected = Encoding.detect(utf8Array);
if (detected === 'UTF8') { console.log('Encoding is UTF-8'); }
// 반환값
'UTF32' (detect only)
'UTF16'
'UTF16BE'
'UTF16LE'
'BINARY' (detect only)
'ASCII' (detect only)
'JIS'
'UTF8'
'EUCJP'
'EUC-KR'
'UNICODE' (JavaScript Unicode Array)
자바스크립트 관련 글
[JavaScript] URL 인코딩 디코딩(decode) 방법 정리