字母转ASCII十进制类 AS3 Character to ASCII Decimal Class

png-1256 今天在网上没有找到,弄个超级简陋的贴上来。也算费了半天劲有个交代。

这个Array可以扩展,可以支持字母对应的HEX和HTML,懒得弄了,等用到了再扩充。

而且感觉有简单的方法。

package
{
	public class ASCIIMap
	{
		private static var _instance:ASCIIMap;
		
		private var _asciiArray:Array;
		
		public function ASCIIMap(enforcer:SingletonEnforcer)
		{
			initAsciiArray();
		}
		
		public static function getInstance():ASCIIMap
		{
			if(_instance == null)
				_instance = new ASCIIMap(new SingletonEnforcer());
			return _instance;
		}
		/**
		 * 初始化ASCII Array
		 */
		private function initAsciiArray():void
		{
			_asciiArray = new Array();
			for(var i:uint=0; i<=31; i++)
			{
				var hex:String = systemChange(i.toString(),10,16);
				_asciiArray.push({Hex:hex,Char:""});
			}
			_asciiArray.push({Hex:"20",Char:" "});
			_asciiArray.push({Hex:"21",Char:"!"});
			_asciiArray.push({Hex:"22",Char:"\""});
			_asciiArray.push({Hex:"23",Char:"#"});
			_asciiArray.push({Hex:"24",Char:"$"});
			_asciiArray.push({Hex:"25",Char:"%"});
			_asciiArray.push({Hex:"26",Char:"&"});
			_asciiArray.push({Hex:"27",Char:"'"});
			_asciiArray.push({Hex:"28",Char:"("});
			_asciiArray.push({Hex:"29",Char:")"});
			_asciiArray.push({Hex:"2a",Char:"*"});
			_asciiArray.push({Hex:"2b",Char:"+"});
			_asciiArray.push({Hex:"2c",Char:","});
			_asciiArray.push({Hex:"2d",Char:"-"});
			_asciiArray.push({Hex:"2e",Char:"."});
			_asciiArray.push({Hex:"2f",Char:"/"});
			_asciiArray.push({Hex:"30",Char:"0"});
			_asciiArray.push({Hex:"31",Char:"1"});
			_asciiArray.push({Hex:"32",Char:"2"});
			_asciiArray.push({Hex:"33",Char:"3"});
			_asciiArray.push({Hex:"34",Char:"4"});
			_asciiArray.push({Hex:"35",Char:"5"});
			_asciiArray.push({Hex:"36",Char:"6"});
			_asciiArray.push({Hex:"37",Char:"7"});
			_asciiArray.push({Hex:"38",Char:"8"});
			_asciiArray.push({Hex:"39",Char:"9"});
			_asciiArray.push({Hex:"3a",Char:":"});
			_asciiArray.push({Hex:"3b",Char:";"});
			_asciiArray.push({Hex:"3c",Char:"<"});
			_asciiArray.push({Hex:"3d",Char:"="});
			_asciiArray.push({Hex:"3e",Char:">"});
			_asciiArray.push({Hex:"3f",Char:"?"});
			_asciiArray.push({Hex:"40",Char:"@"});
			_asciiArray.push({Hex:"41",Char:"A"});
			_asciiArray.push({Hex:"42",Char:"B"});
			_asciiArray.push({Hex:"43",Char:"C"});
			_asciiArray.push({Hex:"44",Char:"D"});
			_asciiArray.push({Hex:"45",Char:"E"});
			_asciiArray.push({Hex:"46",Char:"F"});
			_asciiArray.push({Hex:"47",Char:"G"});
			_asciiArray.push({Hex:"48",Char:"H"});
			_asciiArray.push({Hex:"49",Char:"I"});
			_asciiArray.push({Hex:"4a",Char:"J"});
			_asciiArray.push({Hex:"4b",Char:"K"});
			_asciiArray.push({Hex:"4c",Char:"L"});
			_asciiArray.push({Hex:"4d",Char:"M"});
			_asciiArray.push({Hex:"4e",Char:"N"});
			_asciiArray.push({Hex:"4f",Char:"O"});
			_asciiArray.push({Hex:"50",Char:"P"});
			_asciiArray.push({Hex:"51",Char:"Q"});
			_asciiArray.push({Hex:"52",Char:"R"});
			_asciiArray.push({Hex:"53",Char:"S"});
			_asciiArray.push({Hex:"54",Char:"T"});
			_asciiArray.push({Hex:"55",Char:"U"});
			_asciiArray.push({Hex:"56",Char:"V"});
			_asciiArray.push({Hex:"57",Char:"W"});
			_asciiArray.push({Hex:"58",Char:"X"});
			_asciiArray.push({Hex:"59",Char:"Y"});
			_asciiArray.push({Hex:"5a",Char:"Z"});
			_asciiArray.push({Hex:"5b",Char:"["});
			_asciiArray.push({Hex:"5c",Char:"\\"});
			_asciiArray.push({Hex:"5d",Char:"]"});
			_asciiArray.push({Hex:"5e",Char:"^"});
			_asciiArray.push({Hex:"5f",Char:"_"});
			_asciiArray.push({Hex:"60",Char:"`"});
			_asciiArray.push({Hex:"61",Char:"a"});
			_asciiArray.push({Hex:"62",Char:"b"});
			_asciiArray.push({Hex:"63",Char:"c"});
			_asciiArray.push({Hex:"64",Char:"d"});
			_asciiArray.push({Hex:"65",Char:"e"});
			_asciiArray.push({Hex:"66",Char:"f"});
			_asciiArray.push({Hex:"67",Char:"g"});
			_asciiArray.push({Hex:"68",Char:"h"});
			_asciiArray.push({Hex:"69",Char:"i"});
			_asciiArray.push({Hex:"6a",Char:"j"});
			_asciiArray.push({Hex:"6b",Char:"k"});
			_asciiArray.push({Hex:"6c",Char:"l"});
			_asciiArray.push({Hex:"6d",Char:"m"});
			_asciiArray.push({Hex:"6e",Char:"n"});
			_asciiArray.push({Hex:"6f",Char:"o"});
			_asciiArray.push({Hex:"70",Char:"p"});
			_asciiArray.push({Hex:"71",Char:"q"});
			_asciiArray.push({Hex:"72",Char:"r"});
			_asciiArray.push({Hex:"73",Char:"s"});
			_asciiArray.push({Hex:"74",Char:"t"});
			_asciiArray.push({Hex:"75",Char:"u"});
			_asciiArray.push({Hex:"76",Char:"v"});
			_asciiArray.push({Hex:"77",Char:"w"});
			_asciiArray.push({Hex:"78",Char:"x"});
			_asciiArray.push({Hex:"79",Char:"y"});
			_asciiArray.push({Hex:"7a",Char:"z"});
			_asciiArray.push({Hex:"7b",Char:"{"});
			_asciiArray.push({Hex:"7c",Char:"|"});
			_asciiArray.push({Hex:"7d",Char:"}"});
			_asciiArray.push({Hex:"7e",Char:"~"});
			_asciiArray.push({Hex:"7f",Char:""});
			trace(_asciiArray.length);
		}
		/**
		 * 进制转换
		 */
		private function systemChange(txt:String,radix:uint,target:uint):String
		{
		  var num:Number = parseInt(txt,radix);
		  return num.toString(target);
		}
		/**
		 * Array 的 index 就是所要的字母对应的ASCII的十进制数
		 */
		public function getIndex(char:String):int
		{
			for each(var obj:Object in _asciiArray)
			{
				if(obj.Char == char)
				{
					var idx:int = _asciiArray.indexOf(obj);
					return idx;
				}
			}
			return -1;
		}

	}
}

/**
 * This class only can be viewed in this class
 */
class SingletonEnforcer{}

回應

String.charCodeAt()

If you only need to convert a single char to its hex value, you can use String.charCodeAt().

终于符合要求了吧 ...

如题

漂亮!

呵呵