Я использую Delphi 2010, и мне нужно иметь возможность преобразовать строку в шестнадцатеричную строку, а затем позже иметь возможность преобразовать эту шестнадцатеричную строку обратно в исходную строку в Unicode.
Например,моя строка: Михаи́л Васи́льевич Ломоно́сов
Мне удалось использовать здесь фрагмент StringToHex16 Уоррена Р * (и я вставил фрагмент Уоррена ниже), чтобы преобразовать строку вшестнадцатеричная строка, но я не знаю, как преобразовать эту шестнадцатеричную строку обратно в исходную строку юникода.
function StringToHex16(str: string): string;
var
i:integer;
s:string;
begin
s:='';
for i:=1 to length(str) do begin
s:=s+inttohex(Integer(str[i]),4);
end;
result:=s;
end;
Использование связанного StringToHex16 дает мне эту шестнадцатеричную строку:
041C04380445043004380301043B002004120430044104380301043B044C04350432043804470020041B043E043C043E043D043E03010441043E0432
Я немного наивен в этой теме, и я был бы признателен за любую помощь, которую вы можете оказать, чтобы преобразовать эту шестнадцатеричную строку обратно в исходный ввод.