Как выход - тип WideString ибо многие символы присутствуют только в UTF-16
Теперь вопрос, а как их увидеть в консоли, хотя там вроде поставил шрифт семейства ДежаВю которым , по крайней мере в LibreOffice все отображается
Сразу компилятор стал ругаться для для WideString не определены функции типа TryStrToInt
И так результат тестовый лог вида на ввод спецсимвола с зонтиком.( у меня в браузере от отображается- "☂") При этом с двухбайтовые символы выводятся нормально.
- Код: Выделить всё
ввод строки ANSI
☂
4
1
?
?
9730
Исходный листинг
- Код: Выделить всё
program project1;
{$mode objfpc}{$H+}
uses {$IFDEF UNIX} {$IFDEF UseCThreads}
cthreads, {$ENDIF} {$ENDIF}
Classes,
HTMLDecode
var
HTMLDec: THTMLDecode;
s1,s2: WideString;
c: widechar;
i: integer;
begin
Writeln('ввод строки ANSI');
readln(s1);
s2 := HTMLDec.Decode(s1);
for i := 1 to length(s2) do
begin
c := s2[i];
writeln(sizeof(s2));
writeln(length(s2));
writeln(s2);
Writeln(c);
Write(integer(c));
writeln(' ');
end;
readln;
end.