将UTF16转换为Windows 1250

时间:2015-11-04 09:39:06

标签: delphi delphi-10-seattle

我有一个文件,我用FileStream打开并修改了文本。其标准编码为UTF16。在此之后,我想将修改后的文件上传到某处,但必须采用Windows-1250格式。

如何将UTF16转换为Windows-1250编码?

1 个答案:

答案 0 :(得分:4)

使用TEncoding以特定编码对字符串进行编码。

var
  Ansi1250Enc: TEncoding;
....
Ansi1250Enc := TEncoding.GetEncoding(1250);

然后您可以使用GetBytes将字符串编码为字节数组:

var
  EncodedBytes: TBytes;
  str: string;
....
str := ...; // get your text into a string variable by whatever means
EncodedBytes := Ansi1250Enc.GetBytes(str);

或者,如果您将文本存储在字符串列表中,则可以将其保存为:

Strings.SaveToFile(FileName, Ansi1250Enc);

当你完成它时,不要忘记销毁Ansi1250Enc