Я написал рекурсивную функцию. Только вот теперь лень писать рекурсивную "str2con" .
В контейнерах могут также быть и любые другие данные.
Пока остановился на этом очень не красивом варианте
X++:
public client static Binary con2Binary(container _c)
{
BinData bd = new BinData();
Binary b;
int i;
int num;
Array SafeArray;
;
// setData - does not work
new BinaryIo('a','w').writeExp(_c);
bd.loadFile('a');
SafeArray = bd.getVariant().safeArray();
num = SafeArray.lastIndex();
b = new Binary(num+1);
for(i=1; i<(num+1); i++)
b.byte(i-1, SafeArray.value(i));
return b;
}