코딩 기록

자바스크립트 문자 문자열 자료형 변환 - encoding.js 활용

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) 방법 정리

파이썬 파일 읽기 (utf-8 txt) 방법 7가지 예제

[ESLint es6] JavaScript 이해하기 1 Errors


댓글(0)