【发布时间】:2008-11-03 20:28:42
【问题描述】:
在 Delphi 2009 中将声明为 TBytes 的字节数组转换为 unicode 字符串的最佳方法是什么?在我的特殊情况下,TBytes 数组已经有 UTF-16 编码的数据(每个字符 2 个字节)。
由于 TBytes 不存储空终止符,因此仅当数组恰好在与其相邻的内存中具有 #0 时,以下操作才有效。
MyString := string( myBytes );
如果不是,则字符串结果将在末尾包含随机数据(它也可能导致读取冲突,具体取决于在内存中遇到 #0 所花费的时间)。
如果我使用 ToBytes 函数,它会返回 't'#0'e'#0's'#0't'#0,这不是我想要的。
【问题讨论】: