문자 참조

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

문자 참조는 문자를 표현하는 방법으로, 미리 정의된 이름(SGML 실체)을 사용하는 방법과 ISO 10646의 문자 코드를 수치로 나타내는 방법이 있다. HTML은 문자 실체 참조와 수치 문자 참조를 사용하며, XML은 실체 참조와 문자 참조를 사용한다. 수치 문자 참조는 10진수 또는 16진수를 사용하며, 문자 실체 참조는 특정한 문자열을 사용한다. HTML은 252개의 문자 실체를 정의하고 있으며, XML은 5개의 미리 정의된 실체를 규정하고 사용자는 DTD를 통해 새로운 실체 참조를 추가할 수 있다.

문자 참조
📚 더 읽어볼만한 페이지
  • W3C 표준 - HTML
    HTML은 웹 페이지 제작을 위한 표준 마크업 언어로서, 팀 버너스리가 제안하고 구현한 후 인터넷 발전과 함께 널리 사용되며, SGML에 기반하여 하이퍼텍스트 기능으로 다양한 콘텐츠를 표현하고 연결하며, W3C와 WHATWG에서 표준화를 진행하고 최신 버전은 HTML Living Standard이다.
  • W3C 표준 - 타임드 텍스트
    타임드 텍스트는 영상이나 오디오 콘텐츠에 시간 정보를 담아 표현되는 텍스트로, 자막이나 캡션 등에 활용되며 TTML, WebVTT 등의 표준이 존재한다.
  • XML - 오피스 오픈 XML
    오피스 오픈 XML은 마이크로소프트에서 개발한 XML 기반의 파일 포맷으로, 문서, 스프레드시트, 프레젠테이션 등의 사무용 전자 문서를 표현하기 위해 사용되며 마이크로소프트 오피스 2007부터 기본 파일 형식으로 채택되어 ECMA 인터내셔널 및 ISO/IEC 국제 표준으로도 표준화되었다.
  • XML - 자원 기술 프레임워크
    자원 기술 프레임워크(RDF)는 웹 상의 메타데이터를 표현하기 위한 표준 모델로, URI 기반의 리소스와 트리플 구조의 속성을 사용하여 정보 자원 간의 관계를 명확하게 기술하며, 시맨틱 웹 구축의 핵심 기술로서 다양한 분야에서 활용된다.
  • 컴퓨터 용어 - 중앙 처리 장치
    중앙 처리 장치(CPU)는 컴퓨터 시스템의 핵심 부품으로, 프로그램 명령어를 해석하고 실행하여 데이터를 처리하는 장치이다.
  • 컴퓨터 용어 - 운영체제 서비스 관리

2. 문자 참조의 종류와 명칭

문자 참조는 크게 두 가지 방법으로 사용할 수 있다. 첫째는 미리 정의된 특정한 이름(SGML 실체, SGML entity영어)을 문자를 표현하는 약어로 사용하는 방법이고, 둘째는 문자를 표현하는 ISO 10646의 문자 코드를 수로 나타내어 사용하는 방법이다. 이 두 가지 방법을 가리키는 이름은 HTMLXML 표준에 따라 조금 다르다.

👆
좌우로 밀어서 보기
(표) 언어 종류에 따라 다른 문자 참조를 가리키는 이름
| 실체를 사용한 문자 참조 || 수치를 사용한 문자 참조
W3C의 HTML 권장안문자 실체 참조
(character entity reference영어)
수치 문자 참조
(numeric character reference영어)
W3C의 XML 권장안실체 참조
(entity reference영어)
문자 참조
(character reference영어)


=== 문자 실체 참조 / 실체 참조 ===
👆
좌우로 밀어서 보기
(표) 문자 실체 참조의 사용
| 설명
&이름;앰퍼샌드 기호, 문자 실체 이름, 쌍반점을 차례로 씀.

HTML에서는 문자 실체 참조(文字實體參照), XML에서는 실체 참조라고 부르는 이 방식은 SGML 실체 이름을 이용하는 문자 참조이다. 사용할 때는 앰퍼샌드 기호(&)와 미리 정의된 실체 이름, 그리고 쌍반점(;)을 차례로 쓴다. 예를 들어 HTML에서 오른쪽 화살표(→)는 로 표현할 수 있다.

실체 이름은 표준 문서 형식 정의(DTD)에 미리 정의되어 있거나, XML처럼 사용자가 DTD를 통해 직접 정의할 수도 있다. 실체 이름은 대소문자를 구별하므로 주의해야 한다. 예를 들어 HTML에서 Å은 Å 문자를, å은 å 문자를 나타낸다.

HTML 4 버전에서는 252개의 문자 실체를 정의하고 있으며, 사용자가 임의로 추가할 수는 없다. 반면, XML에서는 기본적으로 5개의 '미리 정의된 실체(predefined entities영어)'만을 규정하고 있으며, 필요시 사용자가 DTD를 통해 새로운 실체 참조를 추가할 수 있다. XML의 미리 정의된 실체는 다음과 같다.

👆
좌우로 밀어서 보기
(표) XML의 '미리 정의된 실체'
이름문자유니코드(10진)설명
quot"U+0022 (34)겹따옴표
amp&U+0026 (38)앰퍼샌드 기호
apos'U+0027 (39)어포스트로피
lt<U+003C (60)보다 작음 기호
gt>U+003E (62)보다 큼 기호


=== 수치 문자 참조 / 문자 참조 ===
👆
좌우로 밀어서 보기
(표) 10진수와 16진수로 표기하는 수치 문자 참조
| 사용법 || 설명
10진수&#숫자;앰퍼샌드 기호, 해시 기호, 10진수, 쌍반점을 차례로 씀.
16진수진수;앰퍼샌드 기호, 해시 기호, 로마자 x, 16진수, 쌍반점을 차례로 씀.

HTML에서는 수치 문자 참조(數値文字參照), XML에서는 문자 참조라고 부르는 이 방식은 문자 코드의 수치를 직접 넣는 방식이다. 이때 사용되는 문자 코드는 국제 문자 세트(ISO 10646)를 따른다.

사용법은 앰퍼샌드 기호(&)와 해시 기호(#)로 시작하고, 그 뒤에 10진수16진수 형태의 문자 코드 값을 적은 후 쌍반점(;)으로 끝맺는다. 16진수를 사용할 경우, 숫자 앞에 로마자 x를 붙여 진수; 형태로 사용한다. 16진수 값 자체는 대소문자를 구별하지 않지만, 숫자 앞의 'x'는 소문자로 쓰는 것이 일반적이다. HTML에서는 대문자 'X' (진수;)도 허용하지만, XML에서는 소문자 'x'만 사용해야 한다.

예를 들어, '여는 꺾쇠표'(<) 문자는 10진수로는 <, 16진수로는 < 또는 <로 표현할 수 있다.

3. HTML의 문자 실체 참조

SGML 실체를 이용하는 문자 참조 방식을 HTML 권장안에서는 문자 실체 참조(character entity reference영어)라고 부른다.

문자 실체 참조는 앰퍼샌드 기호(&)와 미리 정의된 문자 실체 이름, 그리고 쌍반점(;)을 차례로 붙여 &이름; 형태로 사용한다. 이때 실체 이름은 대소문자를 구별한다. 예를 들어, HTML에서 &Aring;은 대문자 Å를 나타내고, &aring;은 소문자 å를 나타낸다.

HTML 4 버전문서 형식 정의(DTD)에서는 252개의 문자 실체를 정의했으며, 이후 HTML 4.01 버전에서 새로운 문자 참조가 추가되지는 않았다. HTML 4 표준 명세는 표준 DTD에 정의된 것 외에 사용자가 임의로 실체를 추가하여 정의하는 것을 허용하지 않는다. XHTML 1.0부터 XML 표준에 따라 추가된 어포스트로피(&apos;, 유니코드 U+0027)를 포함하면, HTML 4 기반 문서에서 사용할 수 있는 문자 실체 참조는 총 253개이다.

문자 실체 참조는 수치 문자 참조보다 어떤 문자를 나타내는지 직관적으로 알 수 있다는 장점이 있어 자주 사용된다. 그러나 미리 정의된 이름이 없는 문자(예: 8분 음표 '♪')는 수치 문자 참조를 사용해야 한다.

다음은 HTML 마크업에서 자주 사용되는 문자 실체 참조의 예시이다.

👆
좌우로 밀어서 보기
문자문자 실체 참조설명
 &nbsp;줄 바꿈 없는 공백. 줄 바꿈이 일어나지 않는 공백 문자이다.
<&lt;작음 기호(<). HTML 태그를 여는 데 사용되는 < 문자를 나타낸다.
>&gt;큼 기호(>). HTML 태그를 닫는 데 사용되는 > 문자를 나타낸다.
&&amp;앰퍼샌드(&). 문자 참조 시작을 나타내는 & 문자 자체를 나타낸다.
"&quot;이중 따옴표("). HTML 속성 값을 감싸는 데 사용되는 " 문자를 나타낸다.


앞서 언급했듯이, 문자 실체 참조는 대소문자를 구별한다. 예를 들어 독일어 움라우트가 포함된 문자를 표현할 때 다음과 같이 구분된다.
* &auml;는 소문자 ä를 나타낸다.
* &Auml;는 대문자 Ä를 나타낸다.

4. XML의 문자 실체 참조

W3C의 XML 권장안에서는 실체를 사용하는 문자 참조에 대해 '문자 실체 참조'라는 용어 대신 '실체 참조(entity reference영어)'라는 용어를 사용한다. 이는 HTML 권장안에서 수백 개의 문자 실체 참조를 정의하는 것과 달리, XML에서는 단 다섯 개의 '미리 정의된 실체(predefined entities영어)'만을 기본적으로 규정하고 있기 때문이다. 사용자는 필요에 따라 문서 형식 정의(DTD)를 통해 새로운 실체 참조를 정의하여 사용할 수 있다.

XML 사양에서 미리 정의된 5개의 엔티티는 다음과 같다. 이 외의 엔티티 참조는 별도로 DTD를 지정하지 않는 한 사용할 수 없다.

👆
좌우로 밀어서 보기
XML의 '미리 정의된 실체'
이름문자유니코드 (10진)권장안설명
quot"U+0022 (34)XML 1.0겹따옴표
amp&U+0026 (38)XML 1.0앰퍼샌드 기호
apos'U+0027 (39)XML 1.0어포스트로피
lt<U+003C (60)XML 1.0부등호 (보다 작음 기호)
gt>U+003E (62)XML 1.0부등호 (보다 큼 기호)


미리 정의된 엔티티의 주요 사용 용도는 다음과 같다.

👆
좌우로 밀어서 보기
미리 정의된 엔티티 사용 용도
미리 정의된 엔티티표시사용 용도 (다른 용도로 사용해도 무방하다)
&amp;&주석이나 CDATA 섹션 내부를 제외하고, 모든 앰퍼샌드 기호(&)는 이 엔티티로 표현해야 한다(속성값 포함).
&lt;<위와 동일하게, 태그의 시작을 나타내는 '<' 기호가 아닌 경우 이 엔티티로 표현해야 한다.
&gt;>SGML과의 호환성을 위해, 요소 내용에서 문자열 "]]>"를 표현해야 할 때 "]]&gt;"와 같이 사용한다(CDATA 섹션 내에서는 예외).
&quot;"속성값을 큰따옴표로 묶을 때, 속성값 내부의 큰따옴표는 이 엔티티로 표현한다. (예: <태그 속성="여기에서 사용한다">...</태그>)
&apos;'속성값을 작은따옴표로 묶을 때, 속성값 내부의 작은따옴표는 이 엔티티로 표현한다. (예: <태그 속성='여기에서 사용한다'>...</태그>)

5. 수치 문자 참조

수치 문자 참조는 문자 코드의 수치를 직접 넣어 문자를 표현하는 방식이다. 국제 문자 세트(ISO 10646)에서 정의된 문자 코드를 사용하며, 10진수 또는 16진수로 표기할 수 있다.

👆
좌우로 밀어서 보기
진법사용법설명
10진수&#N;앰퍼샌드(&), 해시 기호(#), 10진수 숫자(N), 세미콜론(;)을 차례로 쓴다.
16진수&#xH; 또는 &#XH;앰퍼샌드(&), 해시(#), 로마자 x 또는 X, 16진수 숫자(H), 세미콜론(;)을 차례로 쓴다.


16진수를 사용할 때는 숫자 부분의 대소문자를 구별하지 않는다. 숫자 앞에 붙는 로마자 'x'는 소문자(x)나 대문자(X) 모두 사용할 수 있지만, XML에서는 소문자 'x'만 사용해야 하며 대문자 'X'(&#XH;)는 허용되지 않는다. HTML에서는 둘 다 사용할 수 있다.

예를 들어, 8분 음표(♪)는 다음과 같이 표현할 수 있다.
* 10진수: &#9834;
* 16진수: &#x266A;

16진수 표기법은 원래 SGML 규격에는 없었으나, HTML 4.0에서 표준으로 도입되었다.

6. 문자 참조 목록 (ISO-8859-1)

👆
좌우로 밀어서 보기
문자16진수10진수문자 실체 참조설명
 00A00160&nbsp;줄 바꿈 없는 공백
¡00A10161&iexcl;거꾸로 된 느낌표
¢00A20162&cent;센트 기호
£00A30163&pound;파운드 기호
¤00A40164&curren;일반 통화 기호
¥00A50165&yen;엔 기호
¦00A60166&brvbar;세로 파선
§00A70167&sect;절 기호
¨00A80168&uml;움라우트
©00A90169&copy;저작권 기호
ª00AA0170&ordf;서수의 지시 (여성형)
«00AB0171&laquo;왼쪽 꺾쇠 따옴표
¬00AC0172&not;부정 기호
­00AD0173&shy;소프트 하이픈
®00AE0174&reg;등록 상표
¯00AF0175&macr;마크론
°00B00176&deg;도 기호
±00B10177&plusmn;플러스 마이너스 기호
²00B20178&sup2;위첨자 숫자 2, 제곱
³00B30179&sup3;위첨자 숫자 3, 세제곱
´00B40180&acute;예각 악센트
µ00B50181&micro;마이크론 기호
00B60182&para;단락 기호
·00B70183&middot;가운데 점
¸00B80184&cedil;세디유(cedilla)
¹00B90185&sup1;위첨자 숫자 1
º00BA0186&ordm;서수의 지시 (남성형)
»00BB0187&raquo;오른쪽 꺾쇠 따옴표
¼00BC0188&frac14;분수 1/4
½00BD0189&frac12;분수 1/2
¾00BE0190&frac34;분수 3/4
¿00BF0191&iquest;거꾸로 된 물음표
À00C00192&Agrave;대문자 A (그레이브 악센트 부호 포함)
Á00C10193&Aacute;대문자 A (예각 악센트 부호 포함)
Â00C20194&Acirc;대문자 A (곡절 악센트 부호 포함)
Ã00C30195&Atilde;대문자 A (물결표 부호 포함)
Ä00C40196&Auml;대문자 A (움라우트 부호 포함)
Å00C50197&Aring;대문자 A (고리 부호 포함)
Æ00C60198&AElig;대문자 AE 이중 모음 (합자)
Ç00C70199&Ccedil;대문자 C (세디유 부호 포함)
È00C80200&Egrave;대문자 E (그레이브 악센트 부호 포함)
É00C90201&Eacute;대문자 E (예각 악센트 부호 포함)
Ê00CA0202&Ecirc;대문자 E (곡절 악센트 부호 포함)
Ë00CB0203&Euml;대문자 E (움라우트 부호 포함)
Ì00CC0204&Igrave;대문자 I (그레이브 악센트 부호 포함)
Í00CD0205&Iacute;대문자 I (예각 악센트 부호 포함)
Î00CE0206&Icirc;대문자 I (곡절 악센트 부호 포함)
Ï00CF0207&Iuml;대문자 I (움라우트 부호 포함)
Ð00D00208&ETH;대문자 에드
Ñ00D10209&Ntilde;대문자 N (물결표 부호 포함)
Ò00D20210&Ograve;대문자 O (그레이브 악센트 부호 포함)
Ó00D30211&Oacute;대문자 O (예각 악센트 부호 포함)
Ô00D40212&Ocirc;대문자 O (곡절 악센트 부호 포함)
Õ00D50213&Otilde;대문자 O (물결표 부호 포함)
Ö00D60214&Ouml;대문자 O (움라우트 부호 포함)
×00D70215&times;곱셈 기호
Ø00D80216&Oslash;대문자 O (슬래시 부호 포함)
Ù00D90217&Ugrave;대문자 U (그레이브 악센트 부호 포함)
Ú00DA0218&Uacute;대문자 U (예각 악센트 부호 포함)
Û00DB0219&Ucirc;대문자 U (곡절 악센트 부호 포함)
Ü00DC0220&Uuml;대문자 U (움라우트 부호 포함)
Ý00DD0221&Yacute;대문자 Y (예각 악센트 부호 포함)
Þ00DE0222&THORN;대문자 쏜
ß00DF0223&szlig;독일어 소문자 에스체트 (sz 합자)
à00E00224&agrave;소문자 a (그레이브 악센트 부호 포함)
á00E10225&aacute;소문자 a (예각 악센트 부호 포함)
â00E20226&acirc;소문자 a (곡절 악센트 부호 포함)
ã00E30227&atilde;소문자 a (물결표 부호 포함)
ä00E40228&auml;소문자 a (움라우트 부호 포함)
å00E50229&aring;소문자 a (고리 포함)
æ00E60230&aelig;소문자 ae 이중 모음 (합자)
ç00E70231&ccedil;소문자 c (세디유 부호 포함)
è00E80232&egrave;소문자 e (그레이브 악센트 부호 포함)
é00E90233&eacute;소문자 e (예각 악센트 부호 포함)
ê00EA0234&ecirc;소문자 e (곡절 악센트 부호 포함)
ë00EB0235&euml;소문자 e (움라우트 부호 포함)
ì00EC0236&igrave;소문자 i (그레이브 악센트 부호 포함)
í00ED0237&iacute;소문자 i (예각 악센트 부호 포함)
î00EE0238&icirc;소문자 i (곡절 악센트 부호 포함)
ï00EF0239&iuml;소문자 i (움라우트 부호 포함)
ð00F00240&eth;소문자 에드
ñ00F10241&ntilde;소문자 n (물결표 부호 포함)
ò00F20242&ograve;소문자 o (그레이브 악센트 부호 포함)
ó00F30243&oacute;소문자 o (예각 악센트 부호 포함)
ô00F40244&ocirc;소문자 o (곡절 악센트 부호 포함)
õ00F50245&otilde;소문자 o (물결표 부호 포함)
ö00F60246&ouml;소문자 o (움라우트 부호 포함)
÷00F70247&divide;나눗셈 기호
ø00F80248&oslash;소문자 o (슬래시 포함)
ù00F90249&ugrave;소문자 u (그레이브 악센트 부호 포함)
ú00FA0250&uacute;소문자 u (예각 악센트 부호 포함)
û00FB0251&ucirc;소문자 u (곡절 악센트 부호 포함)
ü00FC0252&uuml;소문자 u (움라우트 부호 포함)
ý00FD0253&yacute;소문자 y (예각 악센트 부호 포함)
þ00FE0254&thorn;소문자 쏜
ÿ00FF0255&yuml;소문자 y (움라우트 부호 포함)

7. 타입세트 스타일 문장 부호

가독성을 위해 알파벳 "O" 옆에 문자를 배치하였다.

👆
좌우로 밀어서 보기
문자문자 실체 참조설명
‘O&lsquo;왼쪽 작은따옴표
O’&rsquo;오른쪽 작은따옴표
O‚&sbquo;아래쪽 작은따옴표
“O&ldquo;왼쪽 큰따옴표
O”&rdquo;오른쪽 큰따옴표
O„&bdquo;아래쪽 큰따옴표
—O&mdash;엠 대시
–O&ndash;엔 대시