从TCP /端口读取时使用正确的编码

时间:2013-04-25 14:32:52

标签: c# .net tcp ascii utf-7

我正在从TCP /端口读取字节流(byte[]),并将接收到的数组的子部分转换为char[]

假设我不熟悉端口的特性,也不熟悉该端口另一端的环境。我所知道的是有一个港口。

我收到的部分数据是编码的英镑货币符号(£)。当我使用ASCII编码进行转换时,这些符号会以?

的形式出现
var charArray = Encoding.ASCII.GetChars(byteArray);

但是,当我使用UTF-7时,一切正常:

var charArray = Encoding.UTF7.GetChars(byteArray);

我应该补充一点,当尝试UTF-8时,这不起作用。

这是通过反复试验,我不完全确定为什么这可能有效。我认为我不仅仅是继续部署解决方案,而是试图更多地了解这可能有用的原因。

只是端口另一端的系统是以UTF-7传输,还是还有其他事情发生?

0 个答案:

没有答案