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

델파이 Q&A
Delphi Programming Q&A
[1392] [답변] SONESOFT/ 16진수로 저장된 텍스트화일을 이미지
박지훈.임프 [cbuilder] 1869 읽음    1998-02-17 13:53
음... 일단 성공하셨다니 정말 축하드립니당...

음냐... 이번엔 꺼꾸로 하신다구요...

전 지금 상중이지만 (제 컴이 운명하셨어요...T.T)

생각나는대로 불러보죠...

음... 그렇게 어려운건 아닌데...

텍스트 화일에서 시작위치를 잡고,

그담에 두바이트씩 읽어야 겠군요...

그리고 그 두바이트를 각각 16진수텍스트로 인식해서

4비트짜리 비트열로 바꾼후, 비트연산으로 두 숫자를

합쳐버리면 간단하겠군요...

예를 들어... 텍스트 화일에 17d4... 이런식이라면...

씨에도 없지만 델에도 텍스트를 16진수로 바꾸는 함수는 없겠죠?

그러니까 조금 번거로와도 이 문자열을 직접 16진수로 바꿔야 하겠

군요...

먼저 두바이트를 읽고... 한바이트씩 처리해야겠죠...

만약 읽어온 한 바이트가 아라비아숫자 문자라면...

(확신하는데 델파이에도 C의 isnum같은 함수가 있겠죠...)

(읽어온 바이트) - (아스키 문자'0'의 값)

하구 이 결과를 숫자로 바꾸면 숫자값이 나오겠군요...

만약 문자값이라면 (a - f 겠죠)

비슷한 방식으로

(읽어온 바이트) - (아스키 문자 'a'의 값) + 10

이렇게 하면 되겠죠...

이렇게 두 바이트를 처리하셔서 각각 숫자로 바꾸신후...

첫 바이트를 왼쪽으로 4비트 시프트 해서 두번째 바이트와 or연산을

하면 원하시는 결과가 나오겠죠?

비트연산에 약하시다면... 첫바이트 * 16 + 둘째바이트
이렇게 하셔도 되지만... 좀 비효율적이겠죠?

음... 상중의 슬픔으로 안그래도 헤매는 글솜씨가

완존히 횡설수설이군요...

죄송합니당...




무식이 임펠리테리였습니다....




+ -

관련 글 리스트
1392 [답변] SONESOFT/ 16진수로 저장된 텍스트화일을 이미지 박지훈.임프 1869 1998/02/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.