我通过网络收到一条 unicode 消息,如下所示:
74 00 65 00 73 00 74 00 3F 00
我正在使用 BinaryReader 从我的套接字读取流,但问题是它不提供“ReadWideString”功能或类似的功能。任何人都知道如何处理这个问题?
谢谢!
简单的!
string str = System.Text.Encoding.Unicode.GetString(array);
array
你的字节数组在哪里。
C# 中的字符串默认为 Unicode。尝试
string converted = Encoding.Unicode.GetString(data);
其中 data 是一个包含 Unicode 数据的 byte[] 数组。如果你的数据是大端的,你可以试试
string converted = Encoding.BigEndianUnicode.GetString(data);
你可以使用StreamReader
这样的:
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
如果您的流仅包含文本行,则StreamReader
比BinaryReader
. 如果您的字符串嵌入在二进制数据中,那么最好使用Encoding.GetString
其他人建议的方法来解码字符串