delphi - 如何在 Delphi XE4 中将 AnsiString 转换为 UnicodeString

标签 delphi delphi-xe4 unicode-string ansistring

exzample code:
var
  str1 : String;
  str2 : AnsiString;
  ....
  str2 := ....;
  str1 := String(str2);  

我按上面的方法转换了,但是没用。我发现 str1 中丢失了一些数据。有安全的方法可以将 AnsiString 转换为 UnicodeString 吗?

最佳答案

您的代码已经正确。它将从 ANSI 转换为 UTF-16 而不会丢失信息。

因此我得出结论,当您分配给 AnsiString 变量时,信息丢失了。换句话说,代码中的错误包含在代码的 .... 部分。

错误可能是您的 AnsiString 变量的数据和代码页不匹配。

关于delphi - 如何在 Delphi XE4 中将 AnsiString 转换为 UnicodeString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20880132/

相关文章:

c# - C#中字符的返回代码点

delphi - 从函数指针获取函数名?

Delphi:用于索引 TStringList 项的 Integer 以外的类型

delphi - delphi中初始化对象

delphi - 不使用 GDI+ 在 Canvas 上绘制 PNG 格式的图片

delphi - 调试器中出现奇怪的 "inaccessible value"

android - 适用于 Android 的 C++ Builder WSDL 客户端

delphi - 带 IdHTTP 的 POST 请求

c - 是否建议使用 strcmp 或 _tcscmp 比较 Unicode 版本中的字符串?

java - 返回 "extended"字符串的长度