home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / Clusterz / Clusterz.swf / scripts / it / gotoandplay / smartfoxserver / util / Entities.as next >
Encoding:
Text File  |  2008-09-12  |  3.6 KB  |  133 lines

  1. package it.gotoandplay.smartfoxserver.util
  2. {
  3.    public class Entities
  4.    {
  5.       
  6.       private static var hexTable:Array = new Array();
  7.       
  8.       private static var ascTab:Array = [];
  9.       
  10.       private static var ascTabRev:Array = [];
  11.       
  12.       {
  13.          ascTab[">"] = ">";
  14.          ascTab["<"] = "<";
  15.          ascTab["&"] = "&";
  16.          ascTab["\'"] = "'";
  17.          ascTab["\""] = """;
  18.          ascTabRev[">"] = ">";
  19.          ascTabRev["<"] = "<";
  20.          ascTabRev["&"] = "&";
  21.          ascTabRev["'"] = "\'";
  22.          ascTabRev["""] = "\"";
  23.          hexTable["0"] = 0;
  24.          hexTable["1"] = 1;
  25.          hexTable["2"] = 2;
  26.          hexTable["3"] = 3;
  27.          hexTable["4"] = 4;
  28.          hexTable["5"] = 5;
  29.          hexTable["6"] = 6;
  30.          hexTable["7"] = 7;
  31.          hexTable["8"] = 8;
  32.          hexTable["9"] = 9;
  33.          hexTable["A"] = 10;
  34.          hexTable["B"] = 11;
  35.          hexTable["C"] = 12;
  36.          hexTable["D"] = 13;
  37.          hexTable["E"] = 14;
  38.          hexTable["F"] = 15;
  39.       }
  40.       
  41.       public function Entities()
  42.       {
  43.          super();
  44.       }
  45.       
  46.       public static function decodeEntities(param1:String) : String
  47.       {
  48.          var _loc2_:String = null;
  49.          var _loc3_:String = null;
  50.          var _loc4_:String = null;
  51.          var _loc5_:String = null;
  52.          var _loc6_:String = null;
  53.          var _loc7_:int = 0;
  54.          _loc7_ = 0;
  55.          _loc2_ = "";
  56.          while(_loc7_ < param1.length)
  57.          {
  58.             _loc3_ = param1.charAt(_loc7_);
  59.             if(_loc3_ == "&")
  60.             {
  61.                _loc4_ = _loc3_;
  62.                do
  63.                {
  64.                   _loc7_++;
  65.                   _loc5_ = param1.charAt(_loc7_);
  66.                   _loc4_ += _loc5_;
  67.                }
  68.                while(_loc5_ != ";");
  69.                
  70.                if((_loc6_ = String(ascTabRev[_loc4_])) != null)
  71.                {
  72.                   _loc2_ += _loc6_;
  73.                }
  74.                else
  75.                {
  76.                   _loc2_ += String.fromCharCode(getCharCode(_loc4_));
  77.                }
  78.             }
  79.             else
  80.             {
  81.                _loc2_ += _loc3_;
  82.             }
  83.             _loc7_++;
  84.          }
  85.          trace("DECODE: " + param1 + ", " + _loc2_);
  86.          return _loc2_;
  87.       }
  88.       
  89.       public static function encodeEntities(param1:String) : String
  90.       {
  91.          var _loc2_:String = null;
  92.          var _loc3_:int = 0;
  93.          var _loc4_:String = null;
  94.          var _loc5_:int = 0;
  95.          _loc2_ = "";
  96.          _loc3_ = 0;
  97.          while(_loc3_ < param1.length)
  98.          {
  99.             _loc4_ = param1.charAt(_loc3_);
  100.             if((_loc5_ = param1.charCodeAt(_loc3_)) == 9 || _loc5_ == 10 || _loc5_ == 13)
  101.             {
  102.                _loc2_ += _loc4_;
  103.             }
  104.             else if(_loc5_ >= 32 && _loc5_ <= 126)
  105.             {
  106.                if(ascTab[_loc4_] != null)
  107.                {
  108.                   _loc2_ += ascTab[_loc4_];
  109.                }
  110.                else
  111.                {
  112.                   _loc2_ += _loc4_;
  113.                }
  114.             }
  115.             else
  116.             {
  117.                _loc2_ += _loc4_;
  118.             }
  119.             _loc3_++;
  120.          }
  121.          return _loc2_;
  122.       }
  123.       
  124.       public static function getCharCode(param1:String) : Number
  125.       {
  126.          var _loc2_:String = null;
  127.          _loc2_ = param1.substr(3,param1.length);
  128.          _loc2_ = _loc2_.substr(0,_loc2_.length - 1);
  129.          return Number("0x" + _loc2_);
  130.       }
  131.    }
  132. }
  133.