태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
밤하늘의 실제별, 나도 가질 수 있다?!

[Flex, PHP] 16진수 ASCII값으로 넘어온 데이타를 문자열로 변환하기

2007/07/21 03:12

 

[공지]이미지나 링크가 깨졌다면 댓글 부탁드립니다.

유용할지는 잘 모르겠지만 어쨌거나 어렵게 알아낸 사실이기 때문에 정리해본다.

아래는
PHP에서 문자열을 16진수값으로 변환한 것정보를 HttpRequest나 URLLoader를 이용해 얻어오고
Flex에서 다시 문자열로 변환하는 코드이다.

PHP에서 문자열을 16진수로 바꾸기 위해 bin2hex 함수를 이용한다.

$str = "Hello World";
echo bin2hex( $str );

결과
48656c6c6f20576f726c64

ASCII 테이블(http://www.asciitable.com/)과 비교해 보면 16진수로 48은 H, 65는 e 가 된다.


아래는 위의 16진수로 변환된 것을 다시 문자열로 변환해 주는 Flex 함수이다.
  private function hex2bin( hexStr:String ):String
  {
   var i:int;
   var binStr:String = new String;
   var charAt:Function = hexStr.charAt;
   var fromCharCode:Function = String.fromCharCode;
   for( i = 0; i < hexStr.length; i+=2)
   {
    binStr += fromCharCode( int("0x"+charAt(i)+charAt(i+1)) );
   }
   return binStr;
  }
속도는 그리 빠르지 않은데... 뭐.. 쓸만하긴 하다.
정규식과 replace()함수를 쓰면 더 쉽게 고칠 수 있을 것 같은데... 잘 모르겠다. ㅎㅎㅎ

글쓴이 : 지돌스타(http://blog.jidolstar.com/169 )
크리에이티브 커먼즈 라이선스
Creative Commons License

Adobe Flash Platform , , ,

Trackback 주소: http://blog.jidolstar.com/trackback/169