SlideShare uma empresa Scribd logo
1 de 38
Unicode                 v 1.0
                         박일
         http://AnDStudy.com
    http://parkpd.egloos.com
문자? 문자셋? 인코딩? 폰트?
문자는 대소문자 구별을 한다. 영어 문자는 52 개
Character Code : 문자를 표현하는 데이터값
   A : 65, B : 66 in ASCII
문자셋(Character Set) : 하나의 언어권에서 사용하는 언어를 표현하기
 위한 문자들의 집합
인코딩 : 문자셋과 Character Code 와의 mapping
   ASCII 도 인코딩 방법의 하나
폰트 : glyphs 집합
   일본어 : MS_Gothic, MS_Minch
   중국어 : SimSun, PSimsun 폰트
glyphs(글리프) : 문자 표현
   그림[도안] 표지, [건축]장식용 세로홈, [고고학] 그림 문자, 상형 문자
   Times New Roman Bold A : A
   Arial Bold A : A
ASCII
26x2(알파벳 대소문자) + 10(숫자) +
 특수문자 + 통제문자 -> 128개 이하(2^7)
옛날 워드스타에서는 나머지 1 bit 를
 제어용으로 사용
서유럽으로 간 ASCII
움라우트 등을 표현하기 위해 7bit 에 1bit 추가 (2^8)
ASCII 확장 문자셋을 ISO 가 관리하게 됨
  ISO/IEC 8859-1 라틴-1 서유럽
  ISO/IEC 8859-2 라틴-2 중앙유럽 부터...
  ISO/IEC 8859-16 라틴-10 남동유럽 까지
일본으로 간 문자셋
1바이트로 일본어를 표현하기
  글자가 둥글어 그리기 어려운 히라가나(あいうえお) 대신
   카타가나(アイウエオ) 를 나머지 128 비트 공간에 넣자
  영어와 크기를 같게 하기 위해 "반각(半角)문자, Half-Width
   Katakana“ 사용
MBCS - Multi Byte Character Set 등장
  최상위 비트가 0 이면 ASCII Code 로 해석
  1 이면 2 바이트를 사용하는 일본어 문자셋을 찾는다
예 : 0xA1 0x72 0xA3 0x70 0x52 0xA2 0xA3
1 바이트가 0x00 ~ 0x7F (0~127)까지의 값이라면
  ASCII 문자이다.
서유럽어는 0x80 ~ 0xA0 (예약범위)까지 (128 ~ 160)
  공간을 동아시아 MBCS 를 위해서 비워놓았다.
한국 문자셋 - 완성형과 조합형
완성형 : 완성형한글 2350자, 한자(4884개), 숫자,…
 “강“ : 0xB0C1 (0xB000 + 0xC0 + 0x1)
조합형 : 초성"ㄱ"과 중성"ㅏ"를 조립한 “가” 는
 0x1100,0x1161 로 나타낼 수도 있다.
 초성 ‘ㄱ’ : 0x1100 HANGUL CHOSEONG KIYEOK
 중성 ‘ㅏ’ : 0x1161 HANGUL JUNGSEON A
 확장 1bit, 초성 5bit, 중성 5bit, 종성 5bit
EUC
Extened Unix Code(확장 유닉스 코드)
  8비트 문자 인코딩 방식
  ISO 2022 표준 기반
EUC-KR 은 KS X 1001, KS X 1003 사용
  한글 완성형 인코딩
  KS X 1003 는 역슬래쉬 대신  사용하는 것만 제외하면
    ASCII 코드와 동일
  KS X 1001 은 한글, 그림 문자, 한자 등을 포함
  128보다 작은 바이트에 KS X 1003 배당
  128보다 크거나 같은 바이트에 KS X 1001 배당
  실제 사용공간이 상위바이트 161-254, 하위바이트 161-254
    뿐이었기 때문에 ‘똠’이나 ‘뷁’ 같은 한글이 빠짐.
CP949
MS 가 KS X 1001 에 없는 한글 8822 자를
  추가해 EUCKR 를 확장한 완성형 인코딩
ks_c_5601-1987
원래는 CodePage 번호였으나 지금은
  EUCKR 의 확장형인 한글 인코딩 방식을
  지칭하는 이름이 되었다
ks_c_5601-92 도 있는 듯
iso2022-kr 과 KPS-9566
iso2022-kr
  EucKR 을 7bit 만 사용하며 표현하는 방식으로
     RFC1557 에 정의
KPS-9566 : 북한 유일의 고유 문자셋
  한글 모양은 우리보다 300글자 정도 많고
  한자는 200글자 정도 적다
  한글 시작이 ‘가’ 가 아닌 ‘김일성김정일’ 6 글자가
    먼저 배치되어 있다고...
  자음 정렬 순서
    ㄱㄴㄷㄹㅁㅂㅅㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉㅇ
Code Page
정의 : OS 에서 선택한 character code 들을 특정한
 순서로 정리해 놓은 목록(IBM, MS)
  another name for character encoding(from wikipedia)
  활성 코드 페이지 : 949 (완성형 확장)
  한글 조합형 : Code Page 1361
  영어 : ANSI-437
  이스라엘 : ANSI-862
  로케일 utf-8 : 65001
인코딩된 데이터를 어떻게 해석할 것인가
  CHCP (change code page)
Code Page Identifiers
  http://msdn.microsoft.com/en-us/library/dd317756
문제점
다른 CodePage 에서 파일을 열면 글자가 깨져 보임
여러 나라의 문자셋을 같이 보여줄 수 없음
소프트웨어를 바이너리 하나로 여러 나라에 판매할 수 없음
DOS 시절 일본 게임 때문에 인코딩 바꿨다면 나중에 인코딩을
  돌려놔야 했다
모든 문자별로 유일한 값을 할당하고 싶다
Unicode 시작
모든 문자별로 유일한 Character Code 를 지정하자
  1984년 ISO(국제표준기구)는 ISO 10646 국제 표준 체결 ->
    모든 문자를 4 바이트로
  1993년 5월 그리스 아테네 회의 : 최종 확정
Unicode Working Group(1989년)
  Apple, Xerox, Sun, Microsoft, NeXT : 2 바이트
Unicode 컨소시엄의 제안 일부를 ISO 에서 수용
  ISO 10646-1
  Universal(Multiple-Octet Coded) Character Set: UCS
  덕분에 Unicode 가 UCS 의 서브셋이 되었음
가장 최신 버전 표준
  Unicode 5.2
  ISO/IEC 10646:2003 plus Amendments 1,2,3,4,5,6
Unicode 구조
문자별로 번호(코드 포인트 Code Point) 지정
U+0041
 U+ 는 Unicode
 0041 : 코드 포인트 값으로 16 진수로 표기
 U+0041 는 영어 알파벳 'A’
 U+AC00 : 한글 '가‘
U+0000~U+00FF 영역은
  ISO 8859-1 문자셋과 동일
한글은 U+AC00 ~ U+D7AF 영역에 정의
0x10FFFF^2 : 100만개 글자(10만개 사용)
Unicode 체계
BMP (Basic multilingual Plane. 기본언어판)
  최초 65536(2^16) 개의 문자 할당되는 영역.
  Unicode 3.0 : 49,194 문자 정의
  UCS-2 과 동일
특히 한문에서 필요문자가 늘어나면서
 보충언어판(Supplementary Plaines)을 정의
  Unicode 3.1 에서는 BMP 에 2개 문자 추가,
   보충언어판에 44,944 개 문자 추가
  음표,고대문자,한자(CJK Ideographic Extension B)
   CJK : 한국, 중국, 일본
  Unicode 3.1 : 49,194 + 44,944 = 94,140
UCS 체계
Cell : 한 개의 문자가 할당되는 공간
Plane : 256 * 256개의 cell 묶음
   65536(0xFFFF) 개 -> UCS-2
BMP : Plain 00
Group : 256 개의 Plane 묶음(7F 개)
Unicode 표현
'A’ : U+0041
  Group 00, Plane 00, Cell 41
'가’ : U+AC00
  Group 00, Plane 00, Cell 41
♪ : U+1D160
  Group 00, Plane 01, Cell D160
즉, Plain 번호 5비트, Cell 번호 16비트
  21비트 공간 사용
Unicode 인코딩
UTF-32
UTF-16
UTF-8
UTF-7
 email 용
UCS-2
UCS-4
 모든 Unicode 표현할 수 있으므로
 서로 무손실 변환 가능
UTF-32
모든 문자를 코드 포인트 값 유지하면서
   32 비트로 만든다. (고정길이)
linux의 경우 wchar_t 의 크기가 32bit 라서
   mbstowcs()를 이용해서 변환 후 고정길이
   인코딩처럼 wcs함수를 사용하면 된다.
UCS-4 의 부분집합(17 개의 언어판만 정의)
UTF-16
BMP 영역 안(U+0000-U+FFFF)의 문자는 그대로
  표현, 밖의 문자는 변환 필요 (가변길이)
Windows 2000 과 이후 버전은 UTF-16 기반. 이전
  NT 커널은 UCS-2 기반
Java 2/Java 5는 UCS2/UTF-16에 의존
UCS-2 보다 확장된 개념
UTF-16 변환 규칙
Surrogate Pair (U+D800~U+DFFF) 에는
  문자 할당되어 있지 않음
UTF-8
'A’ : U+0041 같은 UTF-16 를 char 로 읽으면 00
  (null) 문자열 때문에 기존 함수가 오작동
<html>
  <head>
  <meta http-equiv=“Content-Type”
  content=“text/html;charset=utf-8”>
Charset 까지는 ascii 로 읽고 charset 읽은 후에 인
 코딩에 맞춰서 파싱 시작. 그러니 charset 이전에
 unicode 인코딩 글자가 들어가면 안 됨
웹의 실질적 표준, 많은 *nix 시스템, xml, python 은
 UTF-8 을 가장 기초적인 인코딩으로 사용
글자 길이를 알려면 전체 글을 파싱해야 함
Unicode 한글에서 받침 알기
유니코드 2.0 : 한글은 초성 19개, 중성 21개, 종성 28개(없음도
 포함)가 있다. 초성 19개를 0...18까지 번호를 붙이고 중성도
 0...20, 종성도 역시 0...27까지 번호를 붙인다면, 원하는 코드
 는 0xAC00 + x*21*28 + y*28 + z (x=초성번호, y=중성번호,
 z=종성번호)로 만들 수 있다. 종성에서 0 번째에 해당하는 것
 은 '없음'이므로 유니코드값에서 0xAC00을 뺀 후에 28로 나
 누어 떨어지는지 확인하면 됩니다.
  http://jof4002.net/Unicode
  wchar_t* pString = L"가각나듯";
  cout << (pString[0] - 0xAC00) %   28   <<   endl;   //   0
  cout << (pString[1] - 0xAC00) %   28   <<   endl;   //   1
  cout << (pString[2] - 0xAC00) %   28   <<   endl;   //   0
  cout << (pString[3] - 0xAC00) %   28   <<   endl;   //   19
Unicode 변환
USES_CONVERSION;
pI->SomeFunctionNeedsUnicode(T2OLE(lpszA));
매크로       인자              결과
A2CW      (LPCSTR)        (LPCWSTR)
A2W       (LPCSTR)        (LPWSTR)
W2CA      (LPCWSTR)       (LPCSTR)
W2A       (LPCWSTR)       (LPSTR)
T2COLE    (LPCTSTR)       (LPCOLESTR)
T2OLE     (LPCTSTR)       (LPOLESTR)
OLE2CT    (LPCOLESTR)     (LPCTSTR)
OLE2T     (LPCOLESTR)     (LPCSTR)
Unicode in VC++
std::locale::global(std::locale("" ));
wcin.imbue(locale("korean")); 와
  wcout.imbue(locale("korean"));
wcout.fail() 로 확인하고, wcout.clear();
_setmode(_fileno(stdout), _O_U16TEXT);
UTF-16 문자 개수 구하기
code snippet http://dodoubt.tistory.com/40 참고
BOM(Byte Order Mark)
파일이 어떤 식으로 인코딩되어 있는지
 알려주는 헤더 역할
UTF-32, big-endian : 00 00 FE FF
UTF-32, little-endian : FF FE 00 00
UTF-16, big-endian : FE FF
UTF-16, little-endian : FF FE
UTF-8 : EF BB BF
  UTF-8 에서는 BOM 사용을 별로 권장하지 않음.
   UTF-8 이 기본 언어는 ASCII 와 호환된다는 장점
   이 있는데, BOM 처리를 하지 않는 editor 나 웹페
   이지에서는 BOM 을 i≫¿ 로 출력할 수 있다.
Font
문자 -> 유니코드 -> 유니코드 인코딩 -> 화면 그리기
유니코드 폰트
  Arial Unicode MS(ARIALUNI.TTF, 22,730KB)
  함초롱체, 한컴 바탕 : http://maplestory.pe.kr/1785
고정길이 폰트(Monospace Font)
  굴림체, 바탕체, 돋움체
가변길이 폰트
  굴림, 바탕, 돋움
상관없지만
  나눔고딕 코딩글꼴
    http://dev.naver.com/projects/nanumfont/download
  Bitstream Vera Sans Mono + 맑은고딕
    http://ggotbo.egloos.com/2334938
Console 에서의 폰트
[HKEY_CURRENT_USERConsole
  %SystemRoot%_system32_cmd.exe]
   "CodePage"=dword:000001b5
   "FontSize"=dword:000c0000
   "FontFamily"=dword:00000036
   "FontWeight"=dword:00000190
   "FaceName"=" 굴림체“
명령 창에서 사용할 수 있도록 글꼴에 대해 필요한 조건
 fixed-pitch font, not italic font,
 no negative A or C space
 if (TrueType) FF_MODERN else OEM_CHARSET
   http://support.microsoft.com/kb/Q247815
명령 프롬프트 디폴트 폰트 바꾸는 법
   http://pcwinvista.tistory.com/340
   http://dodoubt.tistory.com/34
charmap
이데아
문자-> 유니코드-> 유니코드 인코딩-> 폰트
인코딩
SBCS(Single Byte Character Set)
  ASCII
MBCS(Multi Byte Character Set)
  UTF-16, UTF-8
  문자열 길이를 바로 알 수 없다.
WBCS(Wide Byte Character Set)
  UTF-32, UCS-2, UCS-4
  문자셋과 인코딩이 동일
SBCD, MBCS, WBCS 는 인코딩 방법이지
 인코딩이 아님
Reference
Unicode 의 이해 – novo networks
   http://www.novonetworks.com/jamestic/Unicode_1.0.pdf
진숙의 유니코드 입문서
   http://www.kristalinfo.com/K-Lab/unicode/Unicode_intro-kr.html
   MBCS 와 유니코드
       http://www.animalpicturesarchive.com/jinsuk-kim/diary/read.php?2006/0203
위키백과 – 유니코드, 유니코드 범위 목록
Unicode 5.2 Character Code Charts
   http://www.unicode.org/charts/
조엘 온 소프트웨어 : 유니코드와 문자집합에 대한 고찰
   http://www.joelonsoftware.com/articles/Unicode.html
Character sets and codepages
   http://www.microsoft.com/typography/unicode/cscp.htm
   http://www.microsoft.com/typography/unicode/1250.gif
한글 코드 페이지 http://www.unicode.org/charts/PDF/UAC00.pdf
KS C 5601 완성형 코드
   http://zbxe.bluegate.kr/42
   http://whatisthat.co.kr/6
Reference
http://jof4002.net/Unicode
VC++ : 유니코드를 표준 출력에 내보내기
    http://kaistizen.net/EE/index.php/weblog/comments/unicode_hangul_to_stdout/
IdeA thinKING - C file’s orientation
    http://ideathinking.com/blog/?p=108
    http://ideathinking.com/blog/?p=109
rein : 인코딩과 문자집합: Unicode
    http://rein.kr/blog/archives/280
rein : Windows Character Encoding: UCS2? UTF-16?
    http://rein.kr/blog/archives/585
STL string 사용시 wstring 일때, 출력이 되지 않습니다.
    http://kldp.org/node/93573
http://en.wikipedia.org/wiki/Code_page
http://gpgstudy.com/gpgiki/윈도우 다국어 프로그래밍
MBCS 와 UNICODE FAQ 정리
    http://mynotepad.tistory.com/67
Reference
Unicode - (1) 개념
    http://dodoubt.tistory.com/29
Standard output으로 unicode 문자를 출력하기 (Win32 console application)
    http://dodoubt.tistory.com/35
Unicode - (2) UTF-16(wide character) in Windows
    http://dodoubt.tistory.com/36
Unicode - (3) UTF-8 in Windows
    http://dodoubt.tistory.com/38
Unicode - (4) 문자 개수 구하기, 변환(convert) code snippet
    http://dodoubt.tistory.com/40
window command prompt(cmd.exe)에서 사용하는 font 추가 및 변경하기
    http://dodoubt.tistory.com/34
ASCII and Unicode quotation marks by Markus Kuhn
    http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
유니 코드 (구원의 여신의 등장?) - 박우영
    http://web.edunet4u.net/~han0416/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4%20%
        EA%B0%95%EC%A2%8C/chapter2/uni_code.htm
Code2001, a Plane 1 Unicode-based Font
    http://www.code2000.net/code2001.htm
wprintf/wcout and unicode characters in VS2005
    http://blog.kalmbachnet.de/?postid=98
Reference
David Myriad Rosenbaum's Font Sanctuary (Ugaritic Font)
   http://davidmyriad.tripod.com/myriads.font.page.html
   http://www.alanwood.net/unicode/fonts-middle-eastern.html#ugaritic
외국어 지원을 위한 Unicode 활용 방법
   http://www.ibm.com/developerworks/kr/library/l-linuni.html
ASCII Table
   http://www.asciitable.com/
심심할때 읽어보는 문자셋, 인코딩 이야기
   http://blog.daum.net/_blog/tagArticleList.do?blogid=0Idq4&tagName=%EB%A
      C%B8%EC%9E%90%EC%85%8B#ajax_history_home
한글 인코딩 이야기 - (1) ASCII, 완성형, 조합형, EUCKR, CP949
   http://heyjimin.tistory.com/14
한글 인코딩 이야기 - (2) 유니코드, UCS-2, UTF-8, UTF-16
   http://heyjimin.tistory.com/15
http://namoda.springnote.com/pages/2017552
유니코드 볼 수 있는 에디터? KORAIS
   http://korais.sourceforge.net/screenshots.html

Mais conteúdo relacionado

Mais procurados (8)

문자열 이상재
문자열 이상재문자열 이상재
문자열 이상재
 
Internet Message Protocol (rfc822, rfc 2822)
Internet Message Protocol (rfc822, rfc 2822)Internet Message Protocol (rfc822, rfc 2822)
Internet Message Protocol (rfc822, rfc 2822)
 
문자 인코딩과 유니코드
문자 인코딩과 유니코드문자 인코딩과 유니코드
문자 인코딩과 유니코드
 
Character Encoding in python
Character Encoding in pythonCharacter Encoding in python
Character Encoding in python
 
파이썬 2와 유니코드
파이썬 2와 유니코드파이썬 2와 유니코드
파이썬 2와 유니코드
 
Python3 brief summary
Python3 brief summaryPython3 brief summary
Python3 brief summary
 
Go character encoding
Go character encodingGo character encoding
Go character encoding
 
Windows reversing study_basic_4
Windows reversing study_basic_4Windows reversing study_basic_4
Windows reversing study_basic_4
 

Destaque

서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
seed:s corporation
 
즉흥연기와프로그래밍
즉흥연기와프로그래밍즉흥연기와프로그래밍
즉흥연기와프로그래밍
Ryan Park
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.
Ryan Park
 
AIbyExample - Ch7 raven. version 0.8
AIbyExample - Ch7 raven. version 0.8AIbyExample - Ch7 raven. version 0.8
AIbyExample - Ch7 raven. version 0.8
Ryan Park
 
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견![2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
Nts Nuli
 
Oop design principle
Oop design principleOop design principle
Oop design principle
Ryan Park
 

Destaque (20)

SMU ADPR Universtiy PPT
SMU ADPR Universtiy PPTSMU ADPR Universtiy PPT
SMU ADPR Universtiy PPT
 
서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
서울문화기업 아카데미 최종발표회 ㅡ 아티스트맵(Artists' map)
 
즉흥연기와프로그래밍
즉흥연기와프로그래밍즉흥연기와프로그래밍
즉흥연기와프로그래밍
 
카사 공개세미나1회 W.E.L.C.
카사 공개세미나1회  W.E.L.C.카사 공개세미나1회  W.E.L.C.
카사 공개세미나1회 W.E.L.C.
 
Programming Game AI by Example. Ch7. Raven
Programming Game AI by Example. Ch7. RavenProgramming Game AI by Example. Ch7. Raven
Programming Game AI by Example. Ch7. Raven
 
Taocp1 2 4
Taocp1 2 4Taocp1 2 4
Taocp1 2 4
 
AIbyExample - Ch7 raven. version 0.8
AIbyExample - Ch7 raven. version 0.8AIbyExample - Ch7 raven. version 0.8
AIbyExample - Ch7 raven. version 0.8
 
나도기술서번역한번해볼까 in NDC10
나도기술서번역한번해볼까 in NDC10나도기술서번역한번해볼까 in NDC10
나도기술서번역한번해볼까 in NDC10
 
온라인 게임에서 사례로 살펴보는 디버깅
온라인 게임에서 사례로 살펴보는 디버깅온라인 게임에서 사례로 살펴보는 디버깅
온라인 게임에서 사례로 살펴보는 디버깅
 
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
온라인 게임에서 사례로 살펴보는 디버깅 in NDC2010
 
나도(기술서)번역한번해볼까
나도(기술서)번역한번해볼까나도(기술서)번역한번해볼까
나도(기술서)번역한번해볼까
 
온라인 게임에서 사례로 살펴보는 디버깅 in NDC10
온라인 게임에서 사례로 살펴보는 디버깅 in NDC10온라인 게임에서 사례로 살펴보는 디버깅 in NDC10
온라인 게임에서 사례로 살펴보는 디버깅 in NDC10
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점
 
Domain Driven Design Ch7
Domain Driven Design Ch7Domain Driven Design Ch7
Domain Driven Design Ch7
 
Oop design principle SOLID
Oop design principle SOLIDOop design principle SOLID
Oop design principle SOLID
 
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견![2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
[2014널리세미나] 접근성 빅(?) 데이터, 새로운 법칙의 발견!
 
FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24
 
Oop design principle
Oop design principleOop design principle
Oop design principle
 
핀테크(Fintech) 프리젠테이션
핀테크(Fintech) 프리젠테이션핀테크(Fintech) 프리젠테이션
핀테크(Fintech) 프리젠테이션
 
그림으로 보는 TEDx 발표자 가이드 [한글]
그림으로 보는 TEDx 발표자 가이드 [한글]그림으로 보는 TEDx 발표자 가이드 [한글]
그림으로 보는 TEDx 발표자 가이드 [한글]
 

Semelhante a Unicode100

빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
SeongHyun Ahn
 
3조(Team P.P.K.L) 문자코드
3조(Team P.P.K.L) 문자코드3조(Team P.P.K.L) 문자코드
3조(Team P.P.K.L) 문자코드
ciel2230
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9
진현 조
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
henjeon
 

Semelhante a Unicode100 (20)

전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용전영규 유니코드 세미나_공개용
전영규 유니코드 세미나_공개용
 
문자코드
문자코드문자코드
문자코드
 
부팅
부팅부팅
부팅
 
인코딩 발표
인코딩 발표인코딩 발표
인코딩 발표
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
 
3조(Team P.P.K.L) 문자코드
3조(Team P.P.K.L) 문자코드3조(Team P.P.K.L) 문자코드
3조(Team P.P.K.L) 문자코드
 
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(3)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(3)코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(3)
코딩인카페 C&JAVA 기초과정 컴퓨터와 프로그래밍 소개(3)
 
Windosw via c 스터디2장
Windosw via c 스터디2장Windosw via c 스터디2장
Windosw via c 스터디2장
 
Visual Studio를 이용한 어셈블리어 학습 part 1
Visual Studio를 이용한 어셈블리어 학습 part 1Visual Studio를 이용한 어셈블리어 학습 part 1
Visual Studio를 이용한 어셈블리어 학습 part 1
 
문자열이란 무엇인가
문자열이란 무엇인가문자열이란 무엇인가
문자열이란 무엇인가
 
Assembly 스터디 2
Assembly 스터디 2Assembly 스터디 2
Assembly 스터디 2
 
델파이와 유니코드
델파이와 유니코드델파이와 유니코드
델파이와 유니코드
 
[0312 조진현] good bye dx9
[0312 조진현] good bye dx9[0312 조진현] good bye dx9
[0312 조진현] good bye dx9
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술Ndc2010 전형규   마비노기2 캐릭터 렌더링 기술
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
 
Unicode & encoding
Unicode & encodingUnicode & encoding
Unicode & encoding
 
컴퓨터개론02
컴퓨터개론02컴퓨터개론02
컴퓨터개론02
 
코드 Ch20
코드 Ch20코드 Ch20
코드 Ch20
 
[2007 CodeEngn Conference 01] 김기오 - NASM 어셈블러 사용법과 Calling Convention
[2007 CodeEngn Conference 01] 김기오 - NASM 어셈블러 사용법과 Calling Convention[2007 CodeEngn Conference 01] 김기오 - NASM 어셈블러 사용법과 Calling Convention
[2007 CodeEngn Conference 01] 김기오 - NASM 어셈블러 사용법과 Calling Convention
 
Java Class File Format
Java Class File FormatJava Class File Format
Java Class File Format
 
소프트웨어의 계층구조
소프트웨어의 계층구조소프트웨어의 계층구조
소프트웨어의 계층구조
 

Mais de Ryan Park (7)

KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기KGC2010 - 낡은 코드에 단위테스트 넣기
KGC2010 - 낡은 코드에 단위테스트 넣기
 
OOP 설계 원칙 S.O.L.I.D.
OOP 설계 원칙 S.O.L.I.D.OOP 설계 원칙 S.O.L.I.D.
OOP 설계 원칙 S.O.L.I.D.
 
프로그램은 왜 실패하는가 1장
프로그램은 왜 실패하는가 1장프로그램은 왜 실패하는가 1장
프로그램은 왜 실패하는가 1장
 
Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005Working Effectively With Legacy Code - xp2005
Working Effectively With Legacy Code - xp2005
 
UnitTest, Tdd For Games Kgc2007 ParkPD
UnitTest, Tdd For Games Kgc2007 ParkPDUnitTest, Tdd For Games Kgc2007 ParkPD
UnitTest, Tdd For Games Kgc2007 ParkPD
 
Agile Test Driven Development For Games What, Why, And How
Agile Test Driven Development For Games What, Why, And HowAgile Test Driven Development For Games What, Why, And How
Agile Test Driven Development For Games What, Why, And How
 
Agd Test Driven Development For Games What, Why, And How)(Game Connect 2006...
Agd   Test Driven Development For Games What, Why, And How)(Game Connect 2006...Agd   Test Driven Development For Games What, Why, And How)(Game Connect 2006...
Agd Test Driven Development For Games What, Why, And How)(Game Connect 2006...
 

Último

Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
Wonjun Hwang
 

Último (7)

Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 

Unicode100

  • 1. Unicode v 1.0 박일 http://AnDStudy.com http://parkpd.egloos.com
  • 2.
  • 3. 문자? 문자셋? 인코딩? 폰트? 문자는 대소문자 구별을 한다. 영어 문자는 52 개 Character Code : 문자를 표현하는 데이터값 A : 65, B : 66 in ASCII 문자셋(Character Set) : 하나의 언어권에서 사용하는 언어를 표현하기 위한 문자들의 집합 인코딩 : 문자셋과 Character Code 와의 mapping ASCII 도 인코딩 방법의 하나 폰트 : glyphs 집합 일본어 : MS_Gothic, MS_Minch 중국어 : SimSun, PSimsun 폰트 glyphs(글리프) : 문자 표현 그림[도안] 표지, [건축]장식용 세로홈, [고고학] 그림 문자, 상형 문자 Times New Roman Bold A : A Arial Bold A : A
  • 4. ASCII 26x2(알파벳 대소문자) + 10(숫자) + 특수문자 + 통제문자 -> 128개 이하(2^7) 옛날 워드스타에서는 나머지 1 bit 를 제어용으로 사용
  • 5. 서유럽으로 간 ASCII 움라우트 등을 표현하기 위해 7bit 에 1bit 추가 (2^8) ASCII 확장 문자셋을 ISO 가 관리하게 됨 ISO/IEC 8859-1 라틴-1 서유럽 ISO/IEC 8859-2 라틴-2 중앙유럽 부터... ISO/IEC 8859-16 라틴-10 남동유럽 까지
  • 6. 일본으로 간 문자셋 1바이트로 일본어를 표현하기 글자가 둥글어 그리기 어려운 히라가나(あいうえお) 대신 카타가나(アイウエオ) 를 나머지 128 비트 공간에 넣자 영어와 크기를 같게 하기 위해 "반각(半角)문자, Half-Width Katakana“ 사용 MBCS - Multi Byte Character Set 등장 최상위 비트가 0 이면 ASCII Code 로 해석 1 이면 2 바이트를 사용하는 일본어 문자셋을 찾는다 예 : 0xA1 0x72 0xA3 0x70 0x52 0xA2 0xA3 1 바이트가 0x00 ~ 0x7F (0~127)까지의 값이라면 ASCII 문자이다. 서유럽어는 0x80 ~ 0xA0 (예약범위)까지 (128 ~ 160) 공간을 동아시아 MBCS 를 위해서 비워놓았다.
  • 7. 한국 문자셋 - 완성형과 조합형 완성형 : 완성형한글 2350자, 한자(4884개), 숫자,… “강“ : 0xB0C1 (0xB000 + 0xC0 + 0x1) 조합형 : 초성"ㄱ"과 중성"ㅏ"를 조립한 “가” 는 0x1100,0x1161 로 나타낼 수도 있다. 초성 ‘ㄱ’ : 0x1100 HANGUL CHOSEONG KIYEOK 중성 ‘ㅏ’ : 0x1161 HANGUL JUNGSEON A 확장 1bit, 초성 5bit, 중성 5bit, 종성 5bit
  • 8. EUC Extened Unix Code(확장 유닉스 코드) 8비트 문자 인코딩 방식 ISO 2022 표준 기반 EUC-KR 은 KS X 1001, KS X 1003 사용 한글 완성형 인코딩 KS X 1003 는 역슬래쉬 대신 사용하는 것만 제외하면 ASCII 코드와 동일 KS X 1001 은 한글, 그림 문자, 한자 등을 포함 128보다 작은 바이트에 KS X 1003 배당 128보다 크거나 같은 바이트에 KS X 1001 배당 실제 사용공간이 상위바이트 161-254, 하위바이트 161-254 뿐이었기 때문에 ‘똠’이나 ‘뷁’ 같은 한글이 빠짐.
  • 9. CP949 MS 가 KS X 1001 에 없는 한글 8822 자를 추가해 EUCKR 를 확장한 완성형 인코딩 ks_c_5601-1987 원래는 CodePage 번호였으나 지금은 EUCKR 의 확장형인 한글 인코딩 방식을 지칭하는 이름이 되었다 ks_c_5601-92 도 있는 듯
  • 10. iso2022-kr 과 KPS-9566 iso2022-kr EucKR 을 7bit 만 사용하며 표현하는 방식으로 RFC1557 에 정의 KPS-9566 : 북한 유일의 고유 문자셋 한글 모양은 우리보다 300글자 정도 많고 한자는 200글자 정도 적다 한글 시작이 ‘가’ 가 아닌 ‘김일성김정일’ 6 글자가 먼저 배치되어 있다고... 자음 정렬 순서 ㄱㄴㄷㄹㅁㅂㅅㅈㅊㅋㅌㅍㅎㄲㄸㅃㅆㅉㅇ
  • 11. Code Page 정의 : OS 에서 선택한 character code 들을 특정한 순서로 정리해 놓은 목록(IBM, MS) another name for character encoding(from wikipedia) 활성 코드 페이지 : 949 (완성형 확장) 한글 조합형 : Code Page 1361 영어 : ANSI-437 이스라엘 : ANSI-862 로케일 utf-8 : 65001 인코딩된 데이터를 어떻게 해석할 것인가 CHCP (change code page) Code Page Identifiers http://msdn.microsoft.com/en-us/library/dd317756
  • 12. 문제점 다른 CodePage 에서 파일을 열면 글자가 깨져 보임 여러 나라의 문자셋을 같이 보여줄 수 없음 소프트웨어를 바이너리 하나로 여러 나라에 판매할 수 없음 DOS 시절 일본 게임 때문에 인코딩 바꿨다면 나중에 인코딩을 돌려놔야 했다 모든 문자별로 유일한 값을 할당하고 싶다
  • 13. Unicode 시작 모든 문자별로 유일한 Character Code 를 지정하자 1984년 ISO(국제표준기구)는 ISO 10646 국제 표준 체결 -> 모든 문자를 4 바이트로 1993년 5월 그리스 아테네 회의 : 최종 확정 Unicode Working Group(1989년) Apple, Xerox, Sun, Microsoft, NeXT : 2 바이트 Unicode 컨소시엄의 제안 일부를 ISO 에서 수용 ISO 10646-1 Universal(Multiple-Octet Coded) Character Set: UCS 덕분에 Unicode 가 UCS 의 서브셋이 되었음 가장 최신 버전 표준 Unicode 5.2 ISO/IEC 10646:2003 plus Amendments 1,2,3,4,5,6
  • 14. Unicode 구조 문자별로 번호(코드 포인트 Code Point) 지정 U+0041 U+ 는 Unicode 0041 : 코드 포인트 값으로 16 진수로 표기 U+0041 는 영어 알파벳 'A’ U+AC00 : 한글 '가‘ U+0000~U+00FF 영역은 ISO 8859-1 문자셋과 동일 한글은 U+AC00 ~ U+D7AF 영역에 정의 0x10FFFF^2 : 100만개 글자(10만개 사용)
  • 15.
  • 16. Unicode 체계 BMP (Basic multilingual Plane. 기본언어판) 최초 65536(2^16) 개의 문자 할당되는 영역. Unicode 3.0 : 49,194 문자 정의 UCS-2 과 동일 특히 한문에서 필요문자가 늘어나면서 보충언어판(Supplementary Plaines)을 정의 Unicode 3.1 에서는 BMP 에 2개 문자 추가, 보충언어판에 44,944 개 문자 추가 음표,고대문자,한자(CJK Ideographic Extension B) CJK : 한국, 중국, 일본 Unicode 3.1 : 49,194 + 44,944 = 94,140
  • 17. UCS 체계 Cell : 한 개의 문자가 할당되는 공간 Plane : 256 * 256개의 cell 묶음 65536(0xFFFF) 개 -> UCS-2 BMP : Plain 00 Group : 256 개의 Plane 묶음(7F 개)
  • 18. Unicode 표현 'A’ : U+0041 Group 00, Plane 00, Cell 41 '가’ : U+AC00 Group 00, Plane 00, Cell 41 ♪ : U+1D160 Group 00, Plane 01, Cell D160 즉, Plain 번호 5비트, Cell 번호 16비트 21비트 공간 사용
  • 19. Unicode 인코딩 UTF-32 UTF-16 UTF-8 UTF-7 email 용 UCS-2 UCS-4 모든 Unicode 표현할 수 있으므로 서로 무손실 변환 가능
  • 20. UTF-32 모든 문자를 코드 포인트 값 유지하면서 32 비트로 만든다. (고정길이) linux의 경우 wchar_t 의 크기가 32bit 라서 mbstowcs()를 이용해서 변환 후 고정길이 인코딩처럼 wcs함수를 사용하면 된다. UCS-4 의 부분집합(17 개의 언어판만 정의)
  • 21. UTF-16 BMP 영역 안(U+0000-U+FFFF)의 문자는 그대로 표현, 밖의 문자는 변환 필요 (가변길이) Windows 2000 과 이후 버전은 UTF-16 기반. 이전 NT 커널은 UCS-2 기반 Java 2/Java 5는 UCS2/UTF-16에 의존 UCS-2 보다 확장된 개념
  • 22. UTF-16 변환 규칙 Surrogate Pair (U+D800~U+DFFF) 에는 문자 할당되어 있지 않음
  • 23. UTF-8 'A’ : U+0041 같은 UTF-16 를 char 로 읽으면 00 (null) 문자열 때문에 기존 함수가 오작동 <html> <head> <meta http-equiv=“Content-Type” content=“text/html;charset=utf-8”> Charset 까지는 ascii 로 읽고 charset 읽은 후에 인 코딩에 맞춰서 파싱 시작. 그러니 charset 이전에 unicode 인코딩 글자가 들어가면 안 됨 웹의 실질적 표준, 많은 *nix 시스템, xml, python 은 UTF-8 을 가장 기초적인 인코딩으로 사용 글자 길이를 알려면 전체 글을 파싱해야 함
  • 24.
  • 25. Unicode 한글에서 받침 알기 유니코드 2.0 : 한글은 초성 19개, 중성 21개, 종성 28개(없음도 포함)가 있다. 초성 19개를 0...18까지 번호를 붙이고 중성도 0...20, 종성도 역시 0...27까지 번호를 붙인다면, 원하는 코드 는 0xAC00 + x*21*28 + y*28 + z (x=초성번호, y=중성번호, z=종성번호)로 만들 수 있다. 종성에서 0 번째에 해당하는 것 은 '없음'이므로 유니코드값에서 0xAC00을 뺀 후에 28로 나 누어 떨어지는지 확인하면 됩니다. http://jof4002.net/Unicode wchar_t* pString = L"가각나듯"; cout << (pString[0] - 0xAC00) % 28 << endl; // 0 cout << (pString[1] - 0xAC00) % 28 << endl; // 1 cout << (pString[2] - 0xAC00) % 28 << endl; // 0 cout << (pString[3] - 0xAC00) % 28 << endl; // 19
  • 26. Unicode 변환 USES_CONVERSION; pI->SomeFunctionNeedsUnicode(T2OLE(lpszA)); 매크로 인자 결과 A2CW (LPCSTR) (LPCWSTR) A2W (LPCSTR) (LPWSTR) W2CA (LPCWSTR) (LPCSTR) W2A (LPCWSTR) (LPSTR) T2COLE (LPCTSTR) (LPCOLESTR) T2OLE (LPCTSTR) (LPOLESTR) OLE2CT (LPCOLESTR) (LPCTSTR) OLE2T (LPCOLESTR) (LPCSTR)
  • 27. Unicode in VC++ std::locale::global(std::locale("" )); wcin.imbue(locale("korean")); 와 wcout.imbue(locale("korean")); wcout.fail() 로 확인하고, wcout.clear(); _setmode(_fileno(stdout), _O_U16TEXT);
  • 28. UTF-16 문자 개수 구하기 code snippet http://dodoubt.tistory.com/40 참고
  • 29. BOM(Byte Order Mark) 파일이 어떤 식으로 인코딩되어 있는지 알려주는 헤더 역할 UTF-32, big-endian : 00 00 FE FF UTF-32, little-endian : FF FE 00 00 UTF-16, big-endian : FE FF UTF-16, little-endian : FF FE UTF-8 : EF BB BF UTF-8 에서는 BOM 사용을 별로 권장하지 않음. UTF-8 이 기본 언어는 ASCII 와 호환된다는 장점 이 있는데, BOM 처리를 하지 않는 editor 나 웹페 이지에서는 BOM 을 i≫¿ 로 출력할 수 있다.
  • 30. Font 문자 -> 유니코드 -> 유니코드 인코딩 -> 화면 그리기 유니코드 폰트 Arial Unicode MS(ARIALUNI.TTF, 22,730KB) 함초롱체, 한컴 바탕 : http://maplestory.pe.kr/1785 고정길이 폰트(Monospace Font) 굴림체, 바탕체, 돋움체 가변길이 폰트 굴림, 바탕, 돋움 상관없지만 나눔고딕 코딩글꼴 http://dev.naver.com/projects/nanumfont/download Bitstream Vera Sans Mono + 맑은고딕 http://ggotbo.egloos.com/2334938
  • 31. Console 에서의 폰트 [HKEY_CURRENT_USERConsole %SystemRoot%_system32_cmd.exe] "CodePage"=dword:000001b5 "FontSize"=dword:000c0000 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"=" 굴림체“ 명령 창에서 사용할 수 있도록 글꼴에 대해 필요한 조건 fixed-pitch font, not italic font, no negative A or C space if (TrueType) FF_MODERN else OEM_CHARSET http://support.microsoft.com/kb/Q247815 명령 프롬프트 디폴트 폰트 바꾸는 법 http://pcwinvista.tistory.com/340 http://dodoubt.tistory.com/34
  • 34. 인코딩 SBCS(Single Byte Character Set) ASCII MBCS(Multi Byte Character Set) UTF-16, UTF-8 문자열 길이를 바로 알 수 없다. WBCS(Wide Byte Character Set) UTF-32, UCS-2, UCS-4 문자셋과 인코딩이 동일 SBCD, MBCS, WBCS 는 인코딩 방법이지 인코딩이 아님
  • 35. Reference Unicode 의 이해 – novo networks http://www.novonetworks.com/jamestic/Unicode_1.0.pdf 진숙의 유니코드 입문서 http://www.kristalinfo.com/K-Lab/unicode/Unicode_intro-kr.html MBCS 와 유니코드 http://www.animalpicturesarchive.com/jinsuk-kim/diary/read.php?2006/0203 위키백과 – 유니코드, 유니코드 범위 목록 Unicode 5.2 Character Code Charts http://www.unicode.org/charts/ 조엘 온 소프트웨어 : 유니코드와 문자집합에 대한 고찰 http://www.joelonsoftware.com/articles/Unicode.html Character sets and codepages http://www.microsoft.com/typography/unicode/cscp.htm http://www.microsoft.com/typography/unicode/1250.gif 한글 코드 페이지 http://www.unicode.org/charts/PDF/UAC00.pdf KS C 5601 완성형 코드 http://zbxe.bluegate.kr/42 http://whatisthat.co.kr/6
  • 36. Reference http://jof4002.net/Unicode VC++ : 유니코드를 표준 출력에 내보내기 http://kaistizen.net/EE/index.php/weblog/comments/unicode_hangul_to_stdout/ IdeA thinKING - C file’s orientation http://ideathinking.com/blog/?p=108 http://ideathinking.com/blog/?p=109 rein : 인코딩과 문자집합: Unicode http://rein.kr/blog/archives/280 rein : Windows Character Encoding: UCS2? UTF-16? http://rein.kr/blog/archives/585 STL string 사용시 wstring 일때, 출력이 되지 않습니다. http://kldp.org/node/93573 http://en.wikipedia.org/wiki/Code_page http://gpgstudy.com/gpgiki/윈도우 다국어 프로그래밍 MBCS 와 UNICODE FAQ 정리 http://mynotepad.tistory.com/67
  • 37. Reference Unicode - (1) 개념 http://dodoubt.tistory.com/29 Standard output으로 unicode 문자를 출력하기 (Win32 console application) http://dodoubt.tistory.com/35 Unicode - (2) UTF-16(wide character) in Windows http://dodoubt.tistory.com/36 Unicode - (3) UTF-8 in Windows http://dodoubt.tistory.com/38 Unicode - (4) 문자 개수 구하기, 변환(convert) code snippet http://dodoubt.tistory.com/40 window command prompt(cmd.exe)에서 사용하는 font 추가 및 변경하기 http://dodoubt.tistory.com/34 ASCII and Unicode quotation marks by Markus Kuhn http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html 유니 코드 (구원의 여신의 등장?) - 박우영 http://web.edunet4u.net/~han0416/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4%20% EA%B0%95%EC%A2%8C/chapter2/uni_code.htm Code2001, a Plane 1 Unicode-based Font http://www.code2000.net/code2001.htm wprintf/wcout and unicode characters in VS2005 http://blog.kalmbachnet.de/?postid=98
  • 38. Reference David Myriad Rosenbaum's Font Sanctuary (Ugaritic Font) http://davidmyriad.tripod.com/myriads.font.page.html http://www.alanwood.net/unicode/fonts-middle-eastern.html#ugaritic 외국어 지원을 위한 Unicode 활용 방법 http://www.ibm.com/developerworks/kr/library/l-linuni.html ASCII Table http://www.asciitable.com/ 심심할때 읽어보는 문자셋, 인코딩 이야기 http://blog.daum.net/_blog/tagArticleList.do?blogid=0Idq4&tagName=%EB%A C%B8%EC%9E%90%EC%85%8B#ajax_history_home 한글 인코딩 이야기 - (1) ASCII, 완성형, 조합형, EUCKR, CP949 http://heyjimin.tistory.com/14 한글 인코딩 이야기 - (2) 유니코드, UCS-2, UTF-8, UTF-16 http://heyjimin.tistory.com/15 http://namoda.springnote.com/pages/2017552 유니코드 볼 수 있는 에디터? KORAIS http://korais.sourceforge.net/screenshots.html