Увы, вариант вида:
Код:
function OnRead()
  local str,qual=server.ReadCurrentTag();
  if str==nil then return; end;
  local NewStr="";
  for i=1,string.len(str),2 do 
    NewStr=NewStr..string.sub(str,i+1,i+1);
    NewStr=NewStr..string.sub(str,i,i);
  end;
  server.WriteCurrentTag(NewStr,qual);
end
- для unicode-строки меняет местами символы, а не байты.
Ладно, вопрос закрыт. Спасибо.