program test_string4_mode;
{$MODE OBJFPC}{$H+}
uses
  string4unit2, SysUtils;

var
  S: string4;
begin
  S := string4.Create;
  try
    S.FromUTF8('Тест: שלום');

    WriteLn('Стандартный вывод (UTF-8): ', S.ToUTF8());

    WriteLn('Пытаемся включить UTF-32 режим...');
    if S.TryEnableUTF32Mode then
    begin
      WriteLn('Режим UTF-32 активирован! Пробуем вывод:');
      S.WriteRawUTF32();
      WriteLn();
    end
    else
      WriteLn('Не удалось включить UTF-32. Выводим как UTF-8: ', S.ToUTF8());
  finally
    S.Free;
  end;
end.