在Delphi 2009中,将声明为TBytes的字节数组转换为unicode字符串的最佳方法是什么?在我的特殊情况下,TBytes数组已经有了UTF-16编码数据(每个char有2个字节)。将TBytes(UTF-16)转换为字符串的最佳方法是什么?
由于TB的不存储空终止,下面将仅当阵列恰好有#0在与其相邻的存储工作。
MyString := string(myBytes);
如果没有,字符串结果将在年底有随机的数据(它也很可能会导致读取违反取决于它花费的时间遇到一个#0在内存中)。
如果我使用ToBytes函数,它返回 'T' #0'e '#0的' #0't'#0,这不是我想要的。
感谢布鲁斯,我修改了我原来的问题,因为它是不够具体。 TBytes数组编码为utf16数据,所以ToBytes不起作用。 – 2008-11-03 21:07:04