티스토리 뷰
function readMultiEncodingText(bytes:ByteArray):String { //UTF-8 with BOM if(bytes[0] == 0xEF)if(bytes[1] == 0xBB)if(bytes[2] == 0xBF) return bytes.toString(); //UTF-16 Big Endian if(bytes[0] == 0xFE)if(bytes[1] == 0xFF) return bytes.toString(); //UTF-16 Little Endian if(bytes[0] == 0xFF)if(bytes[1] == 0xFE) return bytes.toString(); //UTF-32 Big Endian if(bytes[0] == 0x0)if(bytes[1] == 0x0)if(bytes[2] == 0xFE)if(bytes[3] == 0xFF) return bytes.toString(); //UTF-32 Little Endian if(bytes[0] == 0xFF)if(bytes[1] == 0xFE)if(bytes[2] == 0x0)if(bytes[3] == 0x0) return bytes.toString(); //기타 var ansiStr:String = bytes.readMultiByte(bytes.bytesAvailable, "ANSI"); var unicodeStr:String = bytes.toString(); if(ansiStr.length < unicodeStr.length) return ansiStr; return unicodeStr; }
출처 : http://airdev.tistory.com/397 원강민님 블로그
사용법이 자세하게 나와있지 않아서 바이너리 형식의 데이터에 대한 사용법을 작성해 둔다.
일단 바이너리 데이터의 UTF지원을 추가해주고, 포인터를 0으로 초기화해준 뒤 쓰면 된는데
약간의 메서드와 속성만 적용해서 아래와 같이 쓰면 된다.
function sendToText($str):String{ var ba:ByteArray = new ByteArray(); ba.writeUTFBytes($str); //UTF문자열쓰기 ba.position = 0; //byteArray 포인터를 0으로 이동 var encoStr:String = readMultiEncodingText(ba); trace(encoStr); return encoStr; } sendToText("달변가보다 실천가");
'■ 플래시 ■ > Adobe ActionScript3.0' 카테고리의 다른 글
Sound - After Hanabi ... (0) | 2014.04.26 |
---|---|
이름이 없는 오브젝트에 대한 접근 (0) | 2013.11.28 |
Array Sort (0) | 2013.11.25 |
컴파일 오류 모음 (0) | 2013.11.20 |
OOP의 캡슐화를 위한 답변 (0) | 2013.11.19 |
댓글