Apache flex Base64Encoder存在adobe flex问题
在以下代码中:Apache flex Base64Encoder存在adobe flex问题,apache-flex,adobe,base64,Apache Flex,Adobe,Base64,在以下代码中: var benq:Base64Encoder = new Base64Encoder(); benq.encode("force",0,5); var tmp:String = benq.toString(); “tmp”原来是一个空字符串,即长度为0。 为什么? 如何使用base64encoder对字符串进行编码 您是否正在使用Flex 3,因为它似乎是一项新功能?还可以尝试使用encodeBytes和encodeUTFBytes将代码编码到bytearray中,也许这样效果
var benq:Base64Encoder = new Base64Encoder();
benq.encode("force",0,5);
var tmp:String = benq.toString();
“tmp”原来是一个空字符串,即长度为0。
为什么?
如何使用base64encoder对字符串进行编码 您是否正在使用Flex 3,因为它似乎是一项新功能?还可以尝试使用encodeBytes和encodeUTFBytes将代码编码到bytearray中,也许这样效果更好
在线参考是可用的,但我想你知道这一点。你确定你的代码不起作用吗。 我只是将它复制并粘贴到一个测试应用程序中,它返回tmp为'Zm9yY2U='1!' 您对var tmp还做了什么?如果进行调试,请确保它已处理var tmp:String。。。。检查输出时的行
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white"
creationComplete="but1.label = encodeit()">
<mx:Script>
<![CDATA[
import mx.utils.Base64Encoder;
private function encodeit(): String {
var benq:Base64Encoder = new Base64Encoder();
benq.encode("force",0,5);
var tmp:String = benq.toString();
return tmp;
}
]]>
</mx:Script>
<mx:Button
id="but1"
width="100"
height="100"
/></mx:Application>
好的,它正在工作。
我发布的代码与我实际使用的代码不同。
我跳过了为Base64Encoder调用toString()的事实
清除其内部缓冲区。所以,下次再打电话就会回来
空字符串。
抱歉给你添麻烦了