UTF-8: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
DSisyphBot (토론 | 기여)
잔글 로봇이 더함: vi:UTF-8
편집 요약 없음
1번째 줄:
{{유니코드 둘러보기}}
 
'''UTF-8'''은 [[유니코드]]를 위한 가변 길이 [[문자 인코딩]] 방식 중 하나로, [[켄 톰프슨]]과 [[롭 파이크]]가 만들었다. 본래는 '''FSS-UTF'''(File System Safe UCS/Unicode Transformation Format)라는 이름으로 제안되었다.
6번째 줄:
 
== 구조 ==
 
UTF-8은 여러 표준 문서에서 다른 방법으로 정의되어 있지만, 일반적인 구조는 모두 동일하다.
 
줄 34 ⟶ 33:
 
== 변형된 UTF-8 ==
 
[[자바 (프로그래밍 언어)|자바]]는 내부적으로 문자열을 [[UTF-16]] 인코딩으로 저장하며, 문자열 직렬화를 위하여 UTF-8을 변형하여 사용하고 있다. 이를 [http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInput.html#modified-utf-8 변형된 UTF-8]이라 부른다.
 
줄 44 ⟶ 42:
 
== UTF-8의 설계 원칙 ==
 
그 구조로부터, UTF-8이 다음과 같은 성질을 가지고 있다는 것을 알 수 있다.
 
줄 56 ⟶ 53:
 
== 오류 처리 ==
 
잘못된 입력이 들어 왔을 때 UTF-8 디코더가 해야 할 동작은 표준들에 일정하게 정의되어 있지 않다. 일반적으로 이러한 경우에 디코더가 취할 수 있는 동작은 다음과 같을 수 있다.
 
줄 76 ⟶ 72:
 
== 장점과 단점 ==
 
=== 일반적으로 ===
* '''장점'''
줄 88 ⟶ 83:
* '''단점'''
** 나쁘게 만들어진(그리고 현재 표준을 따르지 않는) UTF-8 파서는 서로 다른 가짜 UTF-8 표현(예를 들어서 너무 긴 형식)을 같은 유니코드 문자열로 해석할 수 있다.
 
=== 기존의 인코딩들과 비교했을 때 ===
* '''장점'''
줄 98 ⟶ 94:
** 대부분의 UTF-8 문자열은 일반적으로 적당한 기존 인코딩으로 표현한 문자열보다 더 크다. 판독 기호를 사용하는 대부분의 라틴 알파벳 문자는 적어도 2바이트를 사용하며, 한중일 문자들과 표의 문자들은 적어도 3바이트를 사용한다.
** 한중일 문자들과 표의 문자를 제외한 거의 모든 기존 인코딩들은 한 문자에 1바이트를 사용하므로 문자열 처리가 간편한 반면, UTF-8은 그렇지 않다.
 
=== [[UTF-7]]과 비교했을 때 ===
* '''장점'''