在以下代碼:土坯撓曲問題Base64Encoder
var benq:Base64Encoder = new Base64Encoder();
benq.encode("force",0,5);
var tmp:String = benq.toString();
「TMP」原來是一個空字符串,即具有長度爲0 爲什麼呢? 如何使用base64encoder對字符串進行編碼?
在以下代碼:土坯撓曲問題Base64Encoder
var benq:Base64Encoder = new Base64Encoder();
benq.encode("force",0,5);
var tmp:String = benq.toString();
「TMP」原來是一個空字符串,即具有長度爲0 爲什麼呢? 如何使用base64encoder對字符串進行編碼?
你確定你的代碼不工作嗎? 我剛剛複製並粘貼到一個測試應用程序,它返回tmp'Zm9yY2U ='
你是否在做其他任何事情的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>
您是否正在使用Flex 3,因爲它似乎是一項新功能?另外嘗試使用encodeBytes編碼成bytearray並使用encodeUTFBytes,或許這些工作會更好。
聯機參考可用from Adobe,但我想你知道這一點。
好吧,它正在工作。 我發佈的代碼與我實際使用的代碼不同。 我跳過了調用toString()爲Base64Encoder 清除其內部緩衝區的事實。所以,下一次調用它會返回一個空字符串 。 對不起。