レス数:4 / 状態:解決済み / No:3 / ATOM
1
名前:n
日付:2014/02/25(火)07:54:04
ID:BHP+qipqyR5g
質問させて頂きます。
JSで作られたbase64のエンコード部分をFLASH lite1.1で動くように
AS1.0にコンパイルしなくてはなりません。
出来る方、是非、お力をお貸しくださいませ。
具体的には以下をAS1.0に書き換えたいです。
function base64encode(s)
{
var t = '', p = -6, a = 0, i = 0, v = 0, c;
while ( (i < s.length) || (p > -6) ) {
if ( p < 0 ) {
if ( i < s.length ) {
c = s.charCodeAt(i++);
v += 8;
} else {
c = 0;
}
a = ((a&255)<<8)|(c&255);
p += 8;
}
t += base64list.charAt( ( v > 0 )? (a>>p)&63 : 64 )
p -= 6;
v -= 6;
}
return t;
}
何卒宜しくお願いします。
(引用元:http://tociyuki.flop.jp/archive/base64.html)
JSで作られたbase64のエンコード部分をFLASH lite1.1で動くように
AS1.0にコンパイルしなくてはなりません。
出来る方、是非、お力をお貸しくださいませ。
具体的には以下をAS1.0に書き換えたいです。
function base64encode(s)
{
var t = '', p = -6, a = 0, i = 0, v = 0, c;
while ( (i < s.length) || (p > -6) ) {
if ( p < 0 ) {
if ( i < s.length ) {
c = s.charCodeAt(i++);
v += 8;
} else {
c = 0;
}
a = ((a&255)<<8)|(c&255);
p += 8;
}
t += base64list.charAt( ( v > 0 )? (a>>p)&63 : 64 )
p -= 6;
v -= 6;
}
return t;
}
何卒宜しくお願いします。
(引用元:http://tociyuki.flop.jp/archive/base64.html)
2
日付:2014/02/26(水)01:43:46
ID:uqGvQ4UrzKin
こんな感じでしょうか。
-------------------------------------------------------------------
_root.s = 'abcde';
_root.base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
_root.t = '';
_root.p = -6;
_root.a = 0;
_root.i = 0;
_root.v = 0;
_root.c;
while ( (i < length(s)) || (p > -6) ) {
if ( p < 0 ) {
if ( i < length(s) ) {
c = ord(substring(s,i+1,1));
i++;
v += 8;
} else {
c = 0;
}
a = ((a%0x100)*0x100)+(c%0x100);
p += 8;
}
t = t add substring(base64list,(( v > 0 )? (a/Math.pow(2,p))%64 : 64)+1,1);
p -= 6;
v -= 6;
}
trace(t); // YWJjZGU=
-------------------------------------------------------------------
_root.s = 'abcde';
_root.base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
_root.t = '';
_root.p = -6;
_root.a = 0;
_root.i = 0;
_root.v = 0;
_root.c;
while ( (i < length(s)) || (p > -6) ) {
if ( p < 0 ) {
if ( i < length(s) ) {
c = ord(substring(s,i+1,1));
i++;
v += 8;
} else {
c = 0;
}
a = ((a%0x100)*0x100)+(c%0x100);
p += 8;
}
t = t add substring(base64list,(( v > 0 )? (a/Math.pow(2,p))%64 : 64)+1,1);
p -= 6;
v -= 6;
}
trace(t); // YWJjZGU=
3
名前:n
日付:2014/02/27(木)07:46:08
ID:BHP+qipqyR5g
早速のご返信ありがとうございます!!
すぐに組み込んで動作確認してみました。
問題なく動作しました。
解析して更に理解を深めます。(条件演算…AS1.0でも使えたのですね…)
本当にありがとうございます!
すぐに組み込んで動作確認してみました。
問題なく動作しました。
解析して更に理解を深めます。(条件演算…AS1.0でも使えたのですね…)
本当にありがとうございます!
4
名前:状態変更
日付:2014/02/27(木)07:46:21
ID:BHP+qipqyR5g
この質問の状態を『解決』に変更しました。
このスレッドについて
質問の状態 : | 解決済み |
投稿開始日 : | 2014/02/25(火)07:54:04 |
投稿終了日 : | 2014/03/06(木)07:52:23 |
投稿者 : | n |
レス総数 : | 4 |
スレッド番号 : | 3 |