在Delphi 2009中,将声明为TBytes的字节数组转换为Unicode字符串的最佳方法是什么?在我的特定情况下,TBytes数组已经具有UTF-16编码的数据(每个字符2个字节)。
由于TBytes不存储空终止符,如果数组恰好在相邻内存中具有#0,则以下内容将起作用。
如果不这样做,字符串结果将在末尾具有随机数据(根据遇到内存中的#0花费的时间长短,可能还会导致读取违规)。
如果我使用ToBytes函数,它会返回“t”#0“e”#0“s”#0“t”#0,这不是我想要的。
由于TBytes不存储空终止符,如果数组恰好在相邻内存中具有#0,则以下内容将起作用。
MyString := string( myBytes );
如果不这样做,字符串结果将在末尾具有随机数据(根据遇到内存中的#0花费的时间长短,可能还会导致读取违规)。
如果我使用ToBytes函数,它会返回“t”#0“e”#0“s”#0“t”#0,这不是我想要的。