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

C++빌더 Q&A
C++Builder Programming Q&A
[68060] Re:Hex로된 문자열을 ASCII로 변환 질문드립니다.
장성호 [nasilso] 4012 읽음    2012-08-31 14:48
@ 서론
1. 문자열     = "255";
2. 숫자        = 255
3. Hex문자  = "FF"

Hex변환관련 질문을 할때

1,2,3 을 헷갈리게 하는 경우가 많더군요

@ 본론

  1. 문자열에서 숫자로 변환은?
      StrToInt 함수를 사용하시면 됩니다.

  2. 숫자에서 문자열로 변환은  IntToStr 을 쓰시면 되구요


  3. 숫자에서 Hex문자열로 변환은   IntToHex 를 쓰시구요

  4. Hex문자열을 숫자로 변환은     StrToInt를 쓰면 됩니다.

      단 이때는  Hex문자열 앞에 '$' 나 'x'  또는 'X'  또는 "0x" 등을 붙여야 합니다.

       즉 Hex문자열  "FF" 를  숫자  255  바꾸려면  

       "xFF" 나 "$FF"로 문자열을 바꾼후에 StrToInt를 쓰시면 됩니다.


@ 기타
   만약에 긴 문자열을 한번에 바꾸시려면?
   BinToHex , HexToBin이라는 함수를 이용하실수 있습니다.

   가령 다음과 같은 hex문자열을  있다고 합시다.
   "38 FC 30 34 30 35 30 20 2F 2F"

   위 문자열을 Binary로 변환하시려면?
   1. Hex문자사이의 공백을 없애구요
     "38FC3034303530202F2F"

   2. HexToBin 함수를 사용하세요

    unsigned char buf[10];
    HexToBin("38FC3034303530202F2F2F2C",buf,10);


   반대로 변환도 마찬가지 입니다.

   문자열 Buffer를 확보해놓구
   BinToHex를 호출하시면 됩니다.
   그럼 공백없는 Hex문자열로 변환되어집니다.



그럼..

  

 
리오넬메시 님이 쓰신 글 :
: 빌더사용하기 시작한 초보입니다.
:
: 예를들어
: 30 66 66 65 65 63 66 66 65 66 38 66 66 66 30 33 66 66 66 34 33 66 66 66 61 38 30 30 34 30 35 30 20 2F 2F 2F 2F
:
: 이런 HEX값들을 ASCII로 변환하여 값을 얻고 싶습니다.
:
: 찾아보니 델파이 , 비쥬얼베이직 으로 된 코드라 알아보기가 힘드네요 ㅠ
:
: procedure TForm1.Button1Click(Sender: TObject);
: var
:   V : Integer;
: begin
:   V := StrToInt( Edit1.Text );
:   Edit2.Text :=  intToHex( V, 2 );
:   Edit3.Text := char(strtoint(`$`+ IntToHex(Ord(V),2) ));
: end;
:
: 이런식으로라...ㅠ

+ -

관련 글 리스트
68056 Hex로된 문자열을 ASCII로 변환 질문드립니다. 리오넬메시 3973 2012/08/31
68060     Re:Hex로된 문자열을 ASCII로 변환 질문드립니다. 장성호 4012 2012/08/31
68063         Re:Re:Hex로된 문자열을 ASCII로 변환 질문드립니다. 리오넬메시 5842 2012/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.