C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[381] WideString - 한/영 같이 들어있는 문자열 처리
홍환민.행복 [hhshhm] 7403 읽음    2003-04-05 03:13
안녕하세요? 홍환민입니다.

오늘은 온라인으로 글을 적네요..

다들 어떤 문자열을 처리할때 다음과 같은 방식 중 하나를 쓰겠지요.

1. 기본적으로 씨빌더에서 제공하고.. 거의 대부분의 VCL에서 스트링을 다룰때
   사용하는 String. (typed AnsiString String; 이렇게 되어있죠.)

2. 전통적인 C 적인 방법.. 포인터나 배열을 이용하는 방법이죠.

대부분 이 두가지를 사용하실 텐데요.

이렇게 다루는 경우 한바이트씩 접근해서 다루게 되죠.

다음과 같은 문자가 있다고 합시다.

"나는 aa야. 음하하"

배열이나 포인터.. 혹은 String을 이용해서 저것에게 어떠한 처리를 해주고자

할때... 결국 이렇게 밖에 접근을 못합니다.

'나'의 앞바이트, 뒤바이트.. 공백, a, a, '야'의 앞바이트, 뒤바이트..

이런식이죠. (한글이 두바이트로 구성되는건 아시겠죠? ^^)

그런데 여기 '나', '는', ' ', 'a', 'a', '야'... 단위로 접근하는 방법이

있습니다.

간단합니다. WideString이라는 거죠.. 한번 테스트 해보시길..

스트링 관련 함수들도 대부분 WideString을 제대로 처리합니다.

그리고 참고로 WideChar와 WideString은 유니코드를 사용한답니다.

(유니코드라고 하지만 뭐니뭐니? 해도 젤 좋은건 조합형 코드죠..)

그리고 또 한가지 ... AnsiString을 다룰 때 어떤 문자에 대해

이게 한바이트짜리 문자여? 아니면 두바이트 문자의 첫번째 바이트여?

두번째 바이트여?? 를 알아볼 수 있는 방법이

존재합니다. 바로 ByteType 라는 것이지요. 한번 도움말을 보시면 알 수 있을

겁니다. 행복하세요..

한글 영문 혼합 문자열을 다룰때는 WideStirng을 쓰자!

(AnsiString과 WideStirng 간에는 대입만으로도 변환이 가능합니다. 캐스트연산도
가능합니다. 또한 보통 C 방식의 문자열과 AnsiString이 변환이 쉽게 가능하니
WideStirng과도 변환이 가능하죠.)


+ -

관련 글 리스트
381 WideString - 한/영 같이 들어있는 문자열 처리 홍환민.행복 7403 2003/04/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.