2009-07-01 3 views
0

"Do certain characters take more bytes than others?" 요청 후, 나는 받아 내가하려고했는데 이제 3howto는 actionscript 3 소켓 연결에서 문자 인코딩을 설정합니까?

액션 스크립트/플렉스에서 소켓 연결로 데이터를 보낼 때 내가 방법을 찾기 위해 문자 인코딩 설정을 설정해야 거라고 파악 그러나 이런 속성을 사용할 수있는 것 같지 않습니다. 이 일을하는 특별한 방법이 있습니까?

답변

2

flash.net.Socket 클래스 이진 입력/출력 클래스이다. 소켓의 데이터에 대한 하위 수준의 액세스 권한이 있으므로 소켓 자체의 인코딩을 지정하지 마십시오.

다른 캐릭터 세트에서 문자열을 읽는 방법은 Socket::readMultiByte입니다.

public function readMultiByte(length:uint, charSet:String):String 

마찬가지로, 특정 문자 세트에서 문자열을 작성하기위한 Socket::writeMultiByte를 사용합니다.

public function writeMultiByte(value:String, charSet:String):void 
+0

나는 XMLSocket 클래스 (http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/XMLSocket.html), 내가 그 클래스가이 기능을 가지고 있다고 생각하지 않습니다를 사용했다 . Socket 클래스로 변경해야한다고 생각합니까? – Tom

+0

예, 저수준의 flash.net.Socket 클래스를 사용하는 것으로 전환합니다. charSet을 제어 할 수 있으며 XML 문자열을 앞뒤로 보낼 수 있습니다. 쓰고 읽을 문자열 값은 flash.net.Socket보다 훨씬 유연합니다. – darronschall

0

필자가 아는 한, Flash는 유니 코드 만 지원합니다. OS의 코드 페이지를 System.useCodePage과 함께 사용하는 옵션이 있습니다. 그러나 사용자의 OS와 언어에 따라 다르며 자신이하는 일을 정확히 알지 않는 한 권장되지 않습니다.

문자 당 더 적은 바이트를 사용하는 것과 마찬가지로 영숫자 문자는 UTF-8에서 1 바이트 만 사용한다는 것을 알고 있습니다.

건배 ...