2016-08-02 59 views
-1

我正在尝试读取字节。如何以字符串形式读取字节

字节: 0×83 0xF6

,这些字节等于33782. 我需要一个代码,这些字节转换为33782.

我已经使用这个代码的尝试:

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

但它给了这个回应:??

回答

0

您使用了错误的转换,转换与ASCII字符串此字节数组不会给出正确的结果。你得到的原因是?是因为值0xF6,0x83位于用于在您的情况下进行转换的ASCII表之外。

您应该使用BitConverter.ToUInt16()

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

你必须首先尽管对于小/大Endians扭转字节数组。

+0

'var bytes = new byte [] {0x83,0xF6}; Array.Reverse(bytes);'这样的东西应该工作 –

+0

感谢帮助兄弟 –

0

也许这样?

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

你可以把这个字符串,就像 私人字符串?所以它返回 –

+0

你的意思是? 'private string foo =(0x83 * 256 + 0xF6).ToString();' – smarx

相关问题