22-6-9 목목목 Delphi 2009 / C++Builder 2009 목 Unicode 목 Internationalization 목목 목목목 . 목목 [email protected]
Jan 05, 2016
23-4-20 목요일
Delphi 2009 / C++Builder 2009 의Unicode 및 Internationalization 지원
박지훈 . 임프[email protected]
23-4-20 목요일
목차• Unicode
• Internationalization
2
23-4-20 목요일
Unicode• 개요
– 전세계 모든 언어 문자들을 단일 문자 체계로 사용할 수 있게 해주는 메커니즘 / 인코딩
– The Unicode Consortium• Unicode Encoding
– UCS-2/UCS-4, UTF-8/UTF-16/UTF-32• Delphi 2009/C++Builder 2009 : UTF-16 (Windows)
– Code point 크기 : 2Byte– 대부분의 문자가 2Byte 지만 일부 4Byte 도 있다
(Surrogate Pairs) -> 가변 길이
23-4-20 목요일
Delphi 2009 / C++Builder 2009
• 개발툴 전반에서 Unicode 지원– IDE / RTL / VCL
• dbExpress• 한글 identifier
– C++ 에서도 한글 identifier 사용 가능
23-4-20 목요일
Delphi 2009 / C++Builder 2009 의 Unicode
• UTF-16• string = UnicodeString;
– ( 과거에는 string = AnsiString)
• Char = WideChar;• UnicodeString (vs. WideString)
– Reference Counting 지원– 각 문자는 WideChar
23-4-20 목요일
Unicode 관련 RTL• Unicode 지원 클래스들
– TCharacter class– TEncoding class
• 인코딩을 지정해야 할 경우 (TEncoding.Unicode)– TStringBuilder class
• Append, Insert, Replace 등의 동작 (.NET 호환 )– TBytesStream
• RawByteString– RawByteString = type AnsiString($FFFF); – 인코딩이 지정되지 않은 스트링 타입
23-4-20 목요일
참고 링크들• “ 델파이의 유니코드 지원” 연재 기사
– http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_tutorial&no=135– http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_tutorial&no=136– http://delphi.borlandforum.com/impboard/impboard.dll?action=read&db=del_tutorial&no=137
• Tiburon’s LoadFromFile and SaveToFile for Unicode characters– http://blogs.codegear.com/davidi/2008/07/15/38898
• Tiburón - String Theory– http://blogs.codegear.com/abauer/2008/07/16/38864/
• Unicode database support in Tiburon for Delphi and C++– http://blogs.codegear.com/davidi/2008/07/15/38895
• Using RawByteString Effectively– http://www.micro-isv.asia/2008/08/using-rawbytestring-effectively/
• Don’t Get Caught with Boxes– http://blogs.codegear.com/nickhodges/2008/07/17/39073
23-4-20 목요일
Demo
23-4-20 목요일
Internationalization• ITE (Internal Translation Environment)
– IDE 에 통합되어 있는 번역 환경• ETM (External Translation Manager)
– 외부 번역 전문가에게 전달할 수 있는 툴– Extras 에 배포 방법 문서
23-4-20 목요일
Demo
23-4-20 목요일
Q&A
23-4-20 목요일