如何将使用Windows代码页1251编码的字符串转换为Unicode字符串

net*_*boy 2 delphi string character-encoding

我的应用程序收到的cyrllic字符串使用(我相信)下表: 在此输入图像描述

我相信,因为我测试的所有字符都适合这张表.

问题:如何将此类事物转换为字符串,默认情况下在我的delphi中是unicode?或者更好的是:delphi中是否有现成的转换器,还是应该写一个?

And*_*and 7

如果您使用的是Delphi 2009或更高版本,则会自动完成:

type
  CyrillicString = type AnsiString(1251);

procedure TForm1.FormCreate(Sender: TObject);
var
  UnicodeStr: string;
  CyrillicStr: CyrillicString;
begin
  UnicodeStr := 'This is a test.'; // Unicode string
  CyrillicStr := UnicodeStr; // ...converted to 1251

  CyrillicStr := 'This is a test.'; // Cryllic string
  UnicodeStr := CyrillicStr; // ...converted to Unicode
end;
Run Code Online (Sandbox Code Playgroud)