最近在开发flex,在使用WebORB.NET的时候发现,如果传递对象中有二进制的00后面的东 西就丢了。
原来是flex的string是用00来结尾的。这个比较郁闷,暂时使用base64编码进行一下解决
调用代码
1import com.dynamicflash.utils.Base64;
2
3//编码和解码字符串
4var source:String = "Hello, world";
5var encoded:String = Base64.encode(source);
6trace(encoded);
7
8var decoded:String = Base64.decode(encoded);
9trace(decoded);
10
11
12//编码和解码 ByteArray
13var obj:Object= {name:"Dynamic Flash",url:"http://dynamicflash.com"};
14var source:ByteArray = new ByteArray();
15source.writeObject(obj);
16
17var encoded:String = Base64.encodeByteArray(source);
18trace(encoded);
19
20
21var decoded:ByteArray = Base64.decodeToByteArray(encoded);
22obj = decoded.readObject();
23trace(obj.name + "(" + obj.url + ")");
时间: 2025-01-29 21:53:45