搜索
查看: 3614|回复: 0

求助,flash的函数转换成aardio的

  [复制链接]

13

主题

25

帖子

179

积分

荣誉会员

Rank: 8Rank: 8

积分
179
发表于 2012-12-4 22:44:59 | 显示全部楼层 |阅读模式
  1. package {
  2.     import flash.utils.*;

  3.     public class Base64 {

  4.         private static const encodeChars:Array = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "/"];
  5.         private static const decodeChars:Array = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1];

  6.         public static function encode(data:ByteArray):String{
  7.             var c:int;
  8.             var out:Array = [];
  9.             var i:int;
  10.             var j:int;
  11.             var r:int = (data.length % 3);
  12.             var len:int = (data.length - r);
  13.             while (i < len) {
  14.                 var _temp1 = i;
  15.                 i = (i + 1);
  16.                 var _temp2 = i;
  17.                 i = (i + 1);
  18.                 var _temp3 = i;
  19.                 i = (i + 1);
  20.                 c = (((data[_temp1] << 16) | (data[_temp2] << 8)) | data[_temp3]);
  21.                 var _temp4 = j;
  22.                 j = (j + 1);
  23.                 var _local8 = _temp4;
  24.                 out[_local8] = (((encodeChars[(c >> 18)] + encodeChars[((c >> 12) & 63)]) + encodeChars[((c >> 6) & 63)]) + encodeChars[(c & 63)]);
  25.             };
  26.             if (r == 1){
  27.                 var _temp5 = i;
  28.                 i = (i + 1);
  29.                 c = data[_temp5];
  30.                 var _temp6 = j;
  31.                 j = (j + 1);
  32.                 _local8 = _temp6;
  33.                 out[_local8] = ((encodeChars[(c >> 2)] + encodeChars[((c & 3) << 4)]) + "==");
  34.             } else {
  35.                 if (r == 2){
  36.                     var _temp7 = i;
  37.                     i = (i + 1);
  38.                     var _temp8 = i;
  39.                     i = (i + 1);
  40.                     c = ((data[_temp7] << 8) | data[_temp8]);
  41.                     var _temp9 = j;
  42.                     j = (j + 1);
  43.                     _local8 = _temp9;
  44.                     out[_local8] = (((encodeChars[(c >> 10)] + encodeChars[((c >> 4) & 63)]) + encodeChars[((c & 15) << 2)]) + "=");
  45.                 };
  46.             };
  47.             return (out.join(""));
  48.         }
  49.         public static function decode(str:String):ByteArray{
  50.             var c1:int;
  51.             var c2:int;
  52.             var c3:int;
  53.             var c4:int;
  54.             var i:int;
  55.             var len:int;
  56.             var out:ByteArray;
  57.             len = str.length;
  58.             i = 0;
  59.             out = new ByteArray();
  60.             while (i < len) {
  61.                 do  {
  62.                     var _temp1 = i;
  63.                     i = (i + 1);
  64.                     c1 = decodeChars[(str.charCodeAt(_temp1) & 0xFF)];
  65.                 } while ((((i < len)) && ((c1 == -1))));
  66.                 if (c1 == -1){
  67.                     break;
  68.                 };
  69.                 do  {
  70.                     var _temp2 = i;
  71.                     i = (i + 1);
  72.                     c2 = decodeChars[(str.charCodeAt(_temp2) & 0xFF)];
  73.                 } while ((((i < len)) && ((c2 == -1))));
  74.                 if (c2 == -1){
  75.                     break;
  76.                 };
  77.                 out.writeByte(((c1 << 2) | ((c2 & 48) >> 4)));
  78.                 do  {
  79.                     var _temp3 = i;
  80.                     i = (i + 1);
  81.                     c3 = (str.charCodeAt(_temp3) & 0xFF);
  82.                     if (c3 == 61){
  83.                         return (out);
  84.                     };
  85.                     c3 = decodeChars[c3];
  86.                 } while ((((i < len)) && ((c3 == -1))));
  87.                 if (c3 == -1){
  88.                     break;
  89.                 };
  90.                 out.writeByte((((c2 & 15) << 4) | ((c3 & 60) >> 2)));
  91.                 do  {
  92.                     var _temp4 = i;
  93.                     i = (i + 1);
  94.                     c4 = (str.charCodeAt(_temp4) & 0xFF);
  95.                     if (c4 == 61){
  96.                         return (out);
  97.                     };
  98.                     c4 = decodeChars[c4];
  99.                 } while ((((i < len)) && ((c4 == -1))));
  100.                 if (c4 == -1){
  101.                     break;
  102.                 };
  103.                 out.writeByte((((c3 & 3) << 6) | c4));
  104.             };
  105.             return (out);
  106.         }

  107.     }
  108. }//package
复制代码
找了个flash,好像这个函数跟aardio的差不多,就是不知道怎么转换可用。

原:dWtnaHltMjlm
用上面的函数转换后是:UDcxMjE3MTkyNzI4MzAzMzM1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-16 17:05 , Processed in 0.046875 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表