delphi - 将UTF16转换为Windows 1250

标签 delphi delphi-10-seattle

我有一个文件,用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

关于delphi - 将UTF16转换为Windows 1250,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33518326/

相关文章:

forms - Delphi-辅助表单的OnClose处理程序未调用

Delphi-如何获取我的完整域名

delphi - 当 GetIt 包管理器失败时如何重置下载?

XML 数据绑定(bind)向导 float 和定点数

windows - 调用 FileRead 后的奇怪计数值

delphi - 使用 FireDac 将日期插入 MS Access 数据库

ios - 德尔福 + iOS : How to declare simple ObjC-Class?

delphi - 访问 Delphi 应用程序中 DLL 中加载的 TClientDataset 的内容

delphi - 当所有者是 MDI Child 时,如何定位 TForm poOwnerFormCenter?

delphi - 使用嵌入式 Firebird 时删除表失败并显示 'unsuccessful metadata update'