我通过网络收到一条unicode消息,如下所示:
74 00 65 00 73 00 74 00 3F 00
我使用BinaryReader从我的套接字读取流,但问题是它不提供"ReadWideString"函数,或类似的东西.任何人都知道如何处理这个?
谢谢!
Dmi*_*ant 14
简单!
string str = System.Text.Encoding.Unicode.GetString(array);
Run Code Online (Sandbox Code Playgroud)
array你的字节数组在哪里.
默认情况下,C#中的字符串是Unicode.尝试
string converted = Encoding.Unicode.GetString(data);
Run Code Online (Sandbox Code Playgroud)
其中data是包含Unicode数据的byte []数组.如果您的数据是大端,您可以尝试
string converted = Encoding.BigEndianUnicode.GetString(data);
Run Code Online (Sandbox Code Playgroud)
你可以使用StreamReader这样的:
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
Run Code Online (Sandbox Code Playgroud)
如果您的流只包含文本行,那么StreamReader比它更合适BinaryReader.如果您的字符串嵌入在二进制数据中,那么使用该Encoding.GetString方法解码字符串可能比其他人建议的更好
| 归档时间: |
|
| 查看次数: |
15964 次 |
| 最近记录: |