"자바스크립트 유니코드"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(사용자 3명의 중간 판 18개는 보이지 않습니다)
7번째 줄: 7번째 줄:
*숫자, 글자들은 고유의 유니코드(코드 포인트)값을 가지며 그 값을 통해 글자를 출력
*숫자, 글자들은 고유의 유니코드(코드 포인트)값을 가지며 그 값을 통해 글자를 출력
:→'A'의 유니코드 값인 U+0041을 통해 A를 출력
:→'A'의 유니코드 값인 U+0041을 통해 A를 출력
<source lang="javascript">
<syntaxhighlight lang="javascript">
document.write("\u0041");
document.write("\u0041");
</source>
</syntaxhighlight>
:→'가'의 유니코드 값인 U+AC00을 통해 가를 출력
:→'가'의 유니코드 값인 U+AC00을 통해 가를 출력
<source lang="javascript">
<syntaxhighlight lang="javascript">
document.write("\uAC00");
document.write("\uAC00");
</source>
</syntaxhighlight>
 
==아스키코드==
*유니코드를 다루는 페이지이나 앞부분의 코드 포인트 값이 동일하며 동일한 출력값을 보여줌
:→ 동일한 A값을 아스키코드와 유니코드로 표현함. 각각의 코드 포인트 값은 동일하게 41을 가짐
<syntaxhighlight lang="javascript">
var ascii ='\x41'; // 아스키코드 'A'
var unicode = '\u0041'; // 유니코드 'A'
 
console.log(ascii); // 'A'
console.log(unicode); // 'A'
</syntaxhighlight>


==유니코드 인코딩==
==유니코드 인코딩==
23번째 줄: 34번째 줄:
! 코드 포인트 범위 !! 비트 수 !! 인코딩
! 코드 포인트 범위 !! 비트 수 !! 인코딩
|-
|-
| U+0000 ~ U+007F || 7 || 그대로 인코딩
| U+0000 ~ U+007F || 7 || 코드 포인트 값 그대로
|-
|-
| U+0080 ~ U+07FF || 11 || 110xxxxx 10xxxxxx
| U+0080 ~ U+07FF || 11 || 110xxxxx 10xxxxxx
31번째 줄: 42번째 줄:
| U+10000 ~ U+1FFFFF || 21 || 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
| U+10000 ~ U+1FFFFF || 21 || 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
|}
|}
<syntaxhighlight lang="javascript">
document.write(encodeURI("\u0000")); // %00
document.write(encodeURI("\u007F")); // %7F
</syntaxhighlight>
:→ U+0000 ~ U+007F 코드 포인트 범위의 인코딩이기 때문에 인코딩된 값도 코드 포인트 값을 그대로 가짐
<syntaxhighlight lang="javascript">
document.write(encodeURI("한")); // %ED%95%9C
document.write(encodeURI("글")); // %EA%B8%80
</syntaxhighlight>
:→"한글"은 각각 '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)
==유니코드 한글==
{{참고|유니코드 한글}}


==같이 보기==
==같이 보기==
*[[유니코드]]
* [[유니코드]]
* [[유니코드 한글]]
* [[아스키코드]]
* [[자바스크립트 encodeURI()]]


==참고 자료==
==참고==
*http://d2.naver.com/helloworld/76650
*http://d2.naver.com/helloworld/76650


[[분류:JavaScript]]
[[분류:JavaScript]]
[[분류:유니코드]]

2020년 11월 2일 (월) 02:52 기준 최신판

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 }}