вопрос к профессионалам
делаю небольшой декомпилятор на ас3, дошел уже до ABC тега
там в принципе не сложно, но есть какие то числа:
Цитата:
The type u30 represents a variable-length encoded 30-bit unsigned integer value.
The types u32 and s32 represent variable-length encoded 32-bit unsigned and signed integer values respectively.
|
Это выдержка из доки официальной.
http://www.adobe.com/devnet/actionsc...m2overview.pdf
есть достаточно похожий опенсорс проект swfutils
http://swfutils.riaforge.org/
но к сожалению там тока чтение этих чисел, например u30 у них читается так:

Код AS3:
public function readEU32():uint
{
var result:uint = _dataInput.readUnsignedByte();
if (!(result & 0x00000080))
return result;
result = (result & 0x0000007f) | _dataInput.readUnsignedByte()<<7;
if (!(result & 0x00004000))
return result;
result = (result & 0x00003fff) | _dataInput.readUnsignedByte()<<14;
if (!(result & 0x00200000))
return result;
result = (result & 0x001fffff) | _dataInput.readUnsignedByte()<<21;
if (!(result & 0x10000000))
return result;
return (result & 0x0fffffff) | _dataInput.readUnsignedByte()<<28;
};
я не особо силен в булевых вычислениях... как записать подобное число? и где можно об этом почитать?