자바스크립트 유니코드

1 개념[ | ]

javascript unicode
자바스크립트 유니코드
  • 본 페이지는 자바스크립트를 통해 유니코드를 다루는 방법에 대해서 설명함

2 유니코드 출력[ | ]

  • 숫자, 글자들은 고유의 유니코드(코드 포인트)값을 가지며 그 값을 통해 글자를 출력
→'A'의 유니코드 값인 U+0041을 통해 A를 출력
document.write("\u0041");
→'가'의 유니코드 값인 U+AC00을 통해 가를 출력
document.write("\uAC00");

3 아스키코드[ | ]

  • 유니코드를 다루는 페이지이나 앞부분의 코드 포인트 값이 동일하며 동일한 출력값을 보여줌
→ 동일한 A값을 아스키코드와 유니코드로 표현함. 각각의 코드 포인트 값은 동일하게 41을 가짐
var ascii ='\x41'; // 아스키코드 'A'
var unicode = '\u0041'; // 유니코드 'A'

console.log(ascii); // 'A'
console.log(unicode); // 'A'

4 유니코드 인코딩[ | ]

  • 여러 방식이 있으며 UCS-2, UCS-4, UTF-7, UTF-8, UTF-16, UTF-32 등이 있음
  • UCS는 코드 포인트를 코드화한 방식
  • UTF (UCS Transformation Format)은 변환 인코딩 방식
  • UTF-8 인코딩 방식이 가장 널리 사용됨
코드 포인트 범위 비트 수 인코딩
U+0000 ~ U+007F 7 코드 포인트 값 그대로
U+0080 ~ U+07FF 11 110xxxxx 10xxxxxx
U+0800 ~ U+FFFF 16 1110xxxx 10xxxxxx 10xxxxxx
U+10000 ~ U+1FFFFF 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
document.write(encodeURI("\u0000")); // %00
document.write(encodeURI("\u007F")); // %7F
→ U+0000 ~ U+007F 코드 포인트 범위의 인코딩이기 때문에 인코딩된 값도 코드 포인트 값을 그대로 가짐
document.write(encodeURI("한")); // %ED%95%9C
document.write(encodeURI("글")); // %EA%B8%80
→"한글"은 각각 'U+D55C', 'U+AE00'의 유니코드를 가지며 이는 U+0800 ~ U+FFFF의 코드 포인트 범위를 가짐. 따라서 16비트 수인 0xED, 0x95, 0x9C와 0xEA, 0xB8, 0x80으로 인코딩이 됨
1101 0101 0101 1100 (\uD55C) → 11101101 10010101 10011100 (0xED, 0x95, 0x9C)
1010 1110 0000 0000 (\uAE00) → 11101010 10111000 10000000 (0xEA, 0xB8, 0x80)

5 유니코드 한글[ | ]

6 같이 보기[ | ]

7 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}