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