2016-08-02 25 views
-1

バイトを読み込もうとしています。バイトを文字列として読み取る方法

バイト: 0x83の0xF6

これらのバイトは、33782. に等しい私はこのコードを使用しようとしている33782.

にそれらのバイトを変換するためのコードを必要とする:

Encoding.ASCII.GetString(new byte[] { 0x83, 0xF6 }); 

しかし、これは応答としてこれを与える:??

答えて

0

不適切な変換を使用しています。このバイト配列をASCII文字列に変換すると正しい結果が得られません。あなたが得る理由は? 0xF6,0x83の値は、あなたのケースで変換を行うために使用されるASCIIテーブルの外にあるからです。

あなたは、あなたが最初にかかわらず、リトル/ビッグエンディアンのバイト配列を逆にする必要があり()

var number = BitConverter.ToUInt16(new byte[] { 0xF6, 0x83}, 0).ToString(); 

BitConverter.ToUInt16を使用する必要があります。

+0

'varバイト=新しいバイト[] {0x83、0xF6}; Array.Reverse(bytes); 'このようなものはうまくいくはずです –

+0

助けてくれてありがとう –

0

おそらくこれは?

(0x83 * 256 + 0xF6).ToString() 
+0

この文字列を プライベート文字列のようにすることはできますか?それはそれを返すので –

+0

あなたはこれを意味する? 'private string foo =(0x83 * 256 + 0xF6).ToString();' – smarx

関連する問題