Delphi 将UTF16转换为Windows 1250

Delphi 将UTF16转换为Windows 1250,delphi,delphi-10-seattle,Delphi,Delphi 10 Seattle,我有一个文件,我用FileStream打开它,然后修改文本。这个的标准编码是UTF16。在这之后,我想上传修改后的文件到某个地方,但必须是Windows-1250格式 如何将UTF16转换为Windows-1250编码?使用TEncoding以特定编码对字符串进行编码 var Ansi1250Enc: TEncoding; .... Ansi1250Enc := TEncoding.GetEncoding(1250); 然后可以使用GetBytes将字符串编码为字节数组: var En

我有一个文件,我用
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后,不要忘记销毁它。

使用
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后,别忘了销毁它。

太好了!非常感谢你!天哪,找个房间!;)太好了!非常感谢你!天哪,找个房间!;)