타입캐스트(Typecast)함수를 이용하여 숫자를 ASCII 문자로 변환할때 왜 공백이 생기게 됩니까?



주요한 소프트웨어:
주요한 소프트웨어 버전: 6.1
문제가 해결된 소프트웨어 버전:
부차적인 소프트웨어: N/A

문제점: 숫자 60을 ASCII 문자로 변환하려고 합니다. 60에 대한 ASCII 문자는 "<" 입니다. 그러나 다음과 같이:
<
나타나는 대신에, 다음과 같은 출력으로 나오게 됩니다.:
   <
(세개의 공백이 나타나고 ASCII 문자가 나타남)

왜 이런 현상이 발생되는 것입니까?

솔루션: 숫자 60의 데이타타입은 I32로 선언되어 있습니다. 그러므로 60의 문자표현은 "0000 003C"(총 4바이트 길이)입니다. 그래서, 헥사표현이 ASCII 형식으로 전환될 때, 각각의 바이트를 읽어들여 그에 맞게 변환하게 됩니다. 이 의미는 :

00 = 널(null) (또는 공백으로 나타남)
3C = < (60 의 ASCII 표현)

이것이 00 (공백) 00 (공백) 00 (공백) 3C (<) 로 나타나는 원인입니다.


이 문제를 해결하는 두가지 방법이 존재합니다.:

해법 1:

  1. 프런트 패널에 가십시오.
  2. 60이라는 숫자를 포함하는 컨트롤위에 가서 마우스 오른쪽 버튼을 누르십시오.
  3. 형(Representation)을 선택하십시오.
  4. I8을 선택하십시오.

해법 2:
  1. 블럭다이어그램에 가십시오.
  2. 블럭 다이어그램에서 마우스 오른쪽 버튼을 누르십시오.
  3. "All functions » Numeric Pallette » Conversion Pallette » To Byte Integer VI"를 선택하십시오.
  4. 타입캐스트(Typecast) VI 를 연결하기전에 이 VI를 연결하십시오.

이 방법에 대한 예제는 아래 첨부되어 있으므로 참고하시기 바랍니다.

관련 링크:

첨부:


Typecast Example.vi - Typecast Example.vi


리포트 날짜: 04/07/2006
마지막 업데이트: 08/06/2006
문서 번호: 3W6DCEIH