在D2010应用程序中我做了
StringList.SaveToStream (MemStream, TEncoding.Unicode);
然后我通过网络将此流发送到某些客户端应用程序。这部分代码是固定的(我不能改变它):
现在我有一个D2007应用程序需要接收此流并将其转换回字符串列表。 D2007不包括Unicode支持和TEncoding
类。如何将流转换为字符串列表?类似于
StringList.LoadFromStream (MemStream, TEncoding.Unicode)
在D2010 ......
感谢您的帮助。
答案 0 :(得分:4)
在Delphi 2007中,您几乎没有选择:
答案 1 :(得分:2)
编辑:由于您无法更改Delphi 2010代码,我将使用Delphi 2007中TWideStrings
单元的WideStrings
类:该类支持unicode字符串。
请注意,在Delphi 2010中进行编码时,您会在流的开头找到BOM(byte order mark)。
我会将Delphi 2010中的流保存为UTF8(TEncoding.UTF8),然后在Delphi 2007中使用function UTF8Decode(const S: UTF8String): WideString;
单元中的System
(docs) 击>
- 的Jeroen