Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
한글을 유니코드로 바꾸려면 어떻게 해야하나요??
한글을 유니코드로 바꾸려면 어찌해야 되나요?
별 함수도 없는것 같고, 딱히 좋은 방법도 안 떠 오릅니다.
어디 좋은 방법없습니까??? ^^;
비슷한거라도 좋으니 꼭 좀 알려주세용....
1
COMMENTS
DelChobo
•
2000.04.22 22:21
초보 델파이...백 wrote:
> 한글을 유니코드로 바꾸려면 어찌해야 되나요?
>
> 별 함수도 없는것 같고, 딱히 좋은 방법도 안 떠 오릅니다.
> 어디 좋은 방법없습니까??? ^^;
>
> 비슷한거라도 좋으니 꼭 좀 알려주세용....
제가 예전에 작업했던 소스인데 참조해 보세요 ...
// 한글 및 영문을 UniCode로 변환함
function EnCode_Unicode(UserName : String):String;
Var S : String;
i, UniCode : Integer;
CouFlg : Boolean;
SaveList : TStringList;
ReturnStr : String;
begin
S := UserName;
CouFlg := False;
SaveList := TStringList.Create;
for i := 1 to Length(S) do begin
if CouFlg then begin
CouFlg := False;
Continue;
end;
if IsDBCSLeadByte(Byte(s[i])) then begin
SaveList.Add('H' + s[i] + s[i+1]);
CouFlg := True;
end Else
SaveList.Add('E' + s[i]);
end;
ReturnStr := '';
for i := 0 to SaveList.Count - 1 do begin
if Copy(SaveList[i],1,1) = 'E' then begin // 영문일때
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Copy(SaveList[i],2,1)), 2, @UniCode, 1);
ReturnStr := ReturnStr + 'E' + IntToStr(UniCode);
end else begin // 한글일때
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Copy(SaveList[i],2,2)), 2, @UniCode, 1);
ReturnStr := ReturnStr + 'H' + IntToStr(UniCode);
end;
end;
SaveList.Free;
Result := ReturnStr;
end;
// Unicode를 한글 및 영문으로 변환함
function DeCode_Unicode(UserCode : String):String;
Var i, UniCode : Integer;
ChkData : String;
Desc : array[0..2] of Char;
SaveList : TStringList;
ReturnStr : String;
begin
ChkData := '';
SaveList := TStringList.Create;
for i := 1 to Length(UserCode) do begin
if (Copy(UserCode,i,1) = 'E') or (Copy(UserCode,i,1) = 'H') then begin
if ChkData <> '' then
SaveList.Add(ChkData);
ChkData := '';
Continue;
end;
ChkData := ChkData + Copy(UserCode,i,1);
end;
SaveList.Add(ChkData);
ReturnStr := '';
for i := 0 to SaveList.Count - 1 do begin
Desc := Char(0);
UniCode := StrToInt(SaveList[i]);
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, @UniCode, 1, @Desc, 2, nil, nil);
ReturnStr := ReturnStr + String(Desc);
end;
Result := ReturnStr;
SaveList.Free;
end;
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
현명한용이
•
2000.04.23 08:37
1
COMMENTS
/
0
LIKES
계산기 프로그램에서 2,8,16진수를 변환하는 방법을 좀..
Mr.Q
•
2000.04.23 12:09
현명한용이 wrote: > 레포트로 계산기 프로그램에서 라디오 버튼을 누르면 2진수 8진수 16진수로 변환하는...
톰과 제리
2000.04.23 08:05
0
COMMENTS
/
0
LIKES
가로가 긴이미지 목록을 버튼을 누룰때마다 바꾸어 표시?
초보자
•
2000.04.23 07:10
2
COMMENTS
/
0
LIKES
combo box에 대해서...
어린왕자
•
2000.04.23 07:38
초보자 wrote: > combo box에 item이 10개가 있다고 가정해서요. > > 폼 초기화해서 10개의 item을 add...
최용일
•
2000.04.23 07:38
ComboBox1.ItemIndex := 9; 초보자 wrote: > combo box에 item이 10개가 있다고 가정해서요. > > 폼...
슬픈사슴
2000.04.23 06:59
0
COMMENTS
/
0
LIKES
제발 도와주세요!!!
이정민
•
2000.04.23 05:55
1
COMMENTS
/
0
LIKES
이거 왜 에러인가 봐주세여
최용일
•
2000.04.23 06:19
안녕하세요. 최용일입니다. 또 보게 되는군요. 아!! 이름을 잊어버렸네요. 헐헐~~~ 아래 유닛의 에러...
[델파이]
2000.04.23 05:21
0
COMMENTS
/
0
LIKES
[왕초보] 서버가 클라이언트에 문자..
이새봄
2000.04.23 02:20
0
COMMENTS
/
0
LIKES
DCOM에서 CORBA로 변경시
nubigo
•
2000.04.23 01:24
2
COMMENTS
/
0
LIKES
sql 문에 integer 변수를 넣고싶은데요...
윤석천
•
2000.04.26 01:20
nubigo wrote: > string은 sql 문에 > sql.add('select * from "test.db" where name='''+up+''''); > ...
정성훈
•
2000.04.23 08:33
nubigo wrote: > 고수님들 안녕하십니까? > 도움은 못 주고 항상 도움만 받아 미안합니다. > > 미안한...
강진호
2000.04.23 00:00
0
COMMENTS
/
0
LIKES
1:n 화상 통신 방법?
델Man
2000.04.22 23:59
0
COMMENTS
/
0
LIKES
좀 봐주세요 <질문>
정종구
2000.04.22 23:00
0
COMMENTS
/
0
LIKES
subnet mask 값을여?
유니
•
2000.04.22 22:41
3
COMMENTS
/
0
LIKES
델파이 2.0에서 콤포넌트 추가방법...
seagod
•
2000.04.23 00:40
델파이 3.0, 4.0사용자를 위한 퀵리포트버젼이 있는걸로 아는데요 요걸 설치를하면 3.0 4.0에서 델파이 2....
유니
•
2000.04.24 19:01
그런가여? 그럼 델파이4.0중에서 퀵레포트용을 구해야 한다는 말씀이신가여? 그럼 혹 그걸 어떻게 구해야...
유니
•
2000.04.24 19:01
그런가여? 그럼 델파이4.0중에서 퀵레포트용을 구해야 한다는 말씀이신가여? 그럼 혹 그걸 어떻게 구해야...
kciron
•
2000.04.22 21:57
2
COMMENTS
/
0
LIKES
프린트 출력은 어떻게.....
윤병익
•
2000.04.22 21:56
kciron wrote: > 안녕하십니까? > > 델파이를 이용하여 출력 프로그램을 만들었는데. 최근에 나온 > ...
kciron
•
2000.04.22 22:04
윤병익 wrote: > kciron wrote: > > 안녕하십니까? > > > > 델파이를 이용하여 출력 프로그램을 만들...
초보 델파이...백
•
2000.04.22 21:15
1
COMMENTS
/
0
LIKES
한글을 유니코드로 바꾸려면 어떻게 해야하나요??
한글을 유니코드로 바꾸려면 어찌해야 되나요? 별 함수도 없는것 같고, 딱히 좋은 방법도 안 떠 오릅니다. 어디 좋은 방법없습니까??? ^^; 비슷한거라도 좋으니 꼭 좀 알려주세용....
DelChobo
•
2000.04.22 22:21
초보 델파이...백 wrote: > 한글을 유니코드로 바꾸려면 어찌해야 되나요? > > 별 함수도 없는것 같고,...
김지현
2000.04.22 21:09
0
COMMENTS
/
0
LIKES
oracle에서 sql-server로 데이타 옮기고 싶어요~
써니
•
2000.04.22 21:07
2
COMMENTS
/
0
LIKES
퀵리포트에서 DBTable값을 한꺼번에 표시해주는 방법
parkisu
•
2000.04.23 00:42
써니 wrote: > 안녕하세요. 델파이 QuickReport에 관해서 너무 급한게 있어서요. > 데이타를 입력하여 DB...
써니
•
2000.04.23 08:26
답변은 감사드립니다. QRDBText를 이용한다는것은 알고 있습니다. 제가 궁금한것은 이 QuickReport하단에 ...
최정원
•
2000.04.22 19:58
3
COMMENTS
/
0
LIKES
문자열을 회전시켜 폼에 출력하고 싶은데..
하얀까마귀
•
2000.04.22 20:28
안녕하세요 하얀까마귀 입니다.. ... 문자열을 회전시키는건 안됩니다.... 이건 폰트의 문제니까.......
최정원
•
2000.04.22 21:31
답변 감사합니다. 그런데, 답변하여주신 내용중에서 그래픽으로 처리해야 한다고 하셨는데 어떤식으로 처...
최용일
•
2000.04.23 07:55
안녕하세요. 최용일입니다. 책을 찾아보시는 것이 더 나으실것 같은데요. 대학교재로 쓰이는 그래픽 프...
궁금녀
•
2000.04.22 19:40
2
COMMENTS
/
0
LIKES
<<암호화/복호화>>
강인규
•
2000.04.22 23:43
다중 사용자 환경이라면 디비를 이용하는것이 바람직하고 단일사용자 환경이라면 ini화일을 이용할 수도 있...
윤티
•
2000.04.23 09:30
델코의 자료실에 가면 있을걸요. 패스워드창이라고 .... http://www.delphikorea.com
초보1
•
2000.04.22 19:00
4
COMMENTS
/
0
LIKES
edit.text에서 공백부문을 ....
윤병익
•
2000.04.22 19:25
초보1 wrote: > > 초보자가 글을 올립니다. > table의 주소필드(addr)는 40자리 입니다. > 화면상에...
하얀까마귀
•
2000.04.22 20:53
안녕하세요 하얀까마귀 입니다... 말씀 처럼 1개의 필드의 내용을 20자리씩 나누어서 사용한다면... 델...
초보1
•
2000.04.22 20:34
답변 감사합니다. 그러나 다른 방법을 혹시 아시는지요.. table은 DBF 파일이거든요.
윤병익
•
2000.04.22 21:17
초보1 wrote: > 답변 감사합니다. > 그러나 다른 방법을 혹시 아시는지요.. > table은 DBF 파일이거든요...
박용준
•
2000.04.22 18:25
2
COMMENTS
/
0
LIKES
SQL문장만 보고 테이블 이름을 얻어올 수는 없나요 ?
안경잡이
•
2000.04.22 19:41
SQL문장을 Parsing하시는게 어떤지요? (저같은경우엔 간이 SQL Parser를 제작하여 해결했습니다.)
박용준
•
2000.04.22 20:30
직접 제작하신 SQL Parser의 소스를 볼 수 있을까요. 답변에 갑사드립니다. 행복하세요.
초보 델파이...백
2000/04/22 21:15
Views
292
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 한글을 유니코드로 바꾸려면 어찌해야 되나요?
>
> 별 함수도 없는것 같고, 딱히 좋은 방법도 안 떠 오릅니다.
> 어디 좋은 방법없습니까??? ^^;
>
> 비슷한거라도 좋으니 꼭 좀 알려주세용....
제가 예전에 작업했던 소스인데 참조해 보세요 ...
// 한글 및 영문을 UniCode로 변환함
function EnCode_Unicode(UserName : String):String;
Var S : String;
i, UniCode : Integer;
CouFlg : Boolean;
SaveList : TStringList;
ReturnStr : String;
begin
S := UserName;
CouFlg := False;
SaveList := TStringList.Create;
for i := 1 to Length(S) do begin
if CouFlg then begin
CouFlg := False;
Continue;
end;
if IsDBCSLeadByte(Byte(s[i])) then begin
SaveList.Add('H' + s[i] + s[i+1]);
CouFlg := True;
end Else
SaveList.Add('E' + s[i]);
end;
ReturnStr := '';
for i := 0 to SaveList.Count - 1 do begin
if Copy(SaveList[i],1,1) = 'E' then begin // 영문일때
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Copy(SaveList[i],2,1)), 2, @UniCode, 1);
ReturnStr := ReturnStr + 'E' + IntToStr(UniCode);
end else begin // 한글일때
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(Copy(SaveList[i],2,2)), 2, @UniCode, 1);
ReturnStr := ReturnStr + 'H' + IntToStr(UniCode);
end;
end;
SaveList.Free;
Result := ReturnStr;
end;
// Unicode를 한글 및 영문으로 변환함
function DeCode_Unicode(UserCode : String):String;
Var i, UniCode : Integer;
ChkData : String;
Desc : array[0..2] of Char;
SaveList : TStringList;
ReturnStr : String;
begin
ChkData := '';
SaveList := TStringList.Create;
for i := 1 to Length(UserCode) do begin
if (Copy(UserCode,i,1) = 'E') or (Copy(UserCode,i,1) = 'H') then begin
if ChkData <> '' then
SaveList.Add(ChkData);
ChkData := '';
Continue;
end;
ChkData := ChkData + Copy(UserCode,i,1);
end;
SaveList.Add(ChkData);
ReturnStr := '';
for i := 0 to SaveList.Count - 1 do begin
Desc := Char(0);
UniCode := StrToInt(SaveList[i]);
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, @UniCode, 1, @Desc, 2, nil, nil);
ReturnStr := ReturnStr + String(Desc);
end;
Result := ReturnStr;
SaveList.Free;
end;