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

标签 string delphi character-encoding

我的应用收到的 cyrllic 字符串使用(我相信)下表: enter image description here

说我相信,因为我测试的所有字符都适合这个表。

问题:如何将这样的东西转换成一个字符串,在我的delphi中默认是unicode? 或者更好:Delphi 中是否有现成的转换器,或者我应该编写一个?

最佳答案

如果您使用的是 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;

关于string - 如何将使用 Windows 代码页 1251 编码的字符串转换为 Unicode 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222615/

相关文章:

Delphi-如何在按钮单击时调用 ActionList?

python - 使用 Python CSV 模块读取带有 BOM 的 UTF-8 会导致不需要的额外字符

python - 获取部分字符串直到 token 的有效方法

java - 相当于 string.isempty 的 Int

python - 从 struct.pack 中提取字符串

arrays - 如何在 NodeJS 中读取缓冲区的前 n 个字节并将其转换为字符串?

c# - 如何在 .net 中生成 UTF-8 字符集中的所有字符

java - 向多个元素字符串输出添加逗号的更好方法是什么?

delphi - 使用Delphi+Intraweb创建带有浏览器存储(webSQL/IndexedDB)的HTML5离线应用程序(缓存 list )可能吗?

delphi - 如何在 Canvas 上左对齐绘制文本?