StringBytes.as

This class can transform a ByteArray object into its correspondig string of hexadecimal values. It can also do the inverse: transform a string into a ByteArray.

Usage:

import ion.utils.StringBytes;
 
var str:String = StringBytes.toString(myByteArray);
 
//the string must have a even ammount of characters (each two characters represent a hexadecimal number)
var ba:ByteArray = StringBytes.toByteArray("aa99cc");

Source:

package ion.utils {
	import flash.utils.ByteArray;
 
	public class StringBytes {
		public static function toString(ba:ByteArray):String {
			var acum:String = "";
 
			ba.position = 0;
 
			while (ba.position < ba.length) {
				var dat:String = ba.readUnsignedByte().toString(16);
 
				while (dat.length < 2) dat = "0" + dat;
 
				acum += dat;
			}
 
			ba.position = 0;
 
			return acum;
		}
 
		public static function toByteArray(str:String):ByteArray {
			if (str.length % 2 != 0) return null;
 
			var ba:ByteArray = new ByteArray();
 
			for (var i:int = 0; i < str.length; i += 2) {
				var num:int = parseInt("0x" + str.substr(i, 2));
				ba.writeByte(num);
			}
 
			ba.position = 0;
			return ba;
		}
	}
}