문제

다음 코드에서 :

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를 사용하고 EncodeUtfBytes를 사용하여 바이트로 인코딩 해보십시오. 아마도 이들은 더 잘 작동합니다.

온라인 참조를 사용할 수 있습니다 Adobe에서, 그러나 나는 당신이 그것을 알고 있다고 생각합니다.

좋아, 작동 중입니다. 내가 게시 한 코드는 실제로 사용하는 것과 다릅니다. Base64encoder를 위해 Tostring ()을 호출하면 내부 버퍼가 제거된다는 사실을 건너 뛰었습니다. 따라서 다음 번에 전화하면 빈 문자열이 반환됩니다. 문제를 일으켜서 미안 해요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top