TCP/Port からバイト ストリーム ( ) を読み取りbyte[]
、受信した配列のサブセクションをchar[]
私は港の特性も、この港の向こう側の環境もよく知らないと仮定します。私が知っているのは、ポートがあるということだけです。
私が受け取るデータの一部は、エンコードされた英国ポンドの通貨記号 (£) です。変換に ASCII エンコーディングを使用すると、これらの記号は次のようになります。?
var charArray = Encoding.ASCII.GetChars(byteArray);
ただし、UTF-7 を使用すると、すべて問題ありません。
var charArray = Encoding.UTF7.GetChars(byteArray);
UTF-8 を試す場合、これは機能しません。
これは試行錯誤によるものであり、なぜこれが機能したのか完全にはわかりません。先に進んでソリューションを展開するのではなく、なぜこれが機能したのかをもっと理解しようと思いました.
ポートの反対側のシステムが UTF-7 で送信しているだけですか、それとも何か他のことが起こっているのでしょうか?