将 UTF16 转换为 Windows 1250

Convert UTF16 to Windows 1250

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

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

使用 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