Сериализатор
Нужно написать 2 php функции, одна кодирует данные, другая раскодирует. Данные будут только вида:
Переменная = значение
Ничего сложного. Перевод из base64 производится php функцией base64_decode.
Все остальное парсится по правилам:
Алгоритм:
data := [item]
item := [array] | [hash] | [scalar]
array := 'A'[size]{[item]}
hash := 'H'[size]{[key][item]}
key := [scalar]
scalar := 'S'[size][space][string]
size := integer, -1 if undefined value
string := hex of base64 of raw data
space := ' ' ascii symbol
Примеры:
Исходный вид:
id=1
checkid=1
product=1
value=1.00RUR
account=1
timeout=15
cnfmode=1
Сериализованный вид:
H8S12 Y2hlY2tpZA==S4 MQ==S12 Y25mbW9kZQ==S4 MQ==S12 YWNjb3VudA==S4 MQ==S8 dmFsdWU=S12 MS4wMFJVUg==S12 dGltZW91dA==S4 MTU=S4 aWQ=S4 MQ==S12 cHJvZHVjdA==S4 MQ==S12 Y29tbWFuZA==S4 MQ==