我正在从TCP /端口读取字节流(byte[]
),并将接收到的数组的子部分转换为char[]
假设我不熟悉端口的特性,也不熟悉该端口另一端的环境。我所知道的是有一个港口。
我收到的部分数据是编码的英镑货币符号(£)。当我使用ASCII编码进行转换时,这些符号会以?
var charArray = Encoding.ASCII.GetChars(byteArray);
但是,当我使用UTF-7时,一切正常:
var charArray = Encoding.UTF7.GetChars(byteArray);
我应该补充一点,当尝试UTF-8时,这不起作用。
这是通过反复试验,我不完全确定为什么这可能有效。我认为我不仅仅是继续部署解决方案,而是试图更多地了解这可能有用的原因。
只是端口另一端的系统是以UTF-7传输,还是还有其他事情发生?