关于C#:婊子养的乌哈尔?


BitConverter uchar?

本问题已经有最佳答案,请猛点这里访问。

如何将字节数组转换为无符号字符(0到255,而不是-127到127)

如果我没有弄错,那么BitConverter只有BitConverter.ToChar没有给出我想要的结果。

谢谢您。


这取决于你的用法。BitConverter.ToChar用于将字节数组中的2个字节转换为Unicode字符(将其视为反序列化)。在.NET中,char数据类型用于表示实际的Unicode字符,因此它包含2个字节。

如果您的目标只是得到一个介于0和255之间的整数数组,那么您的字节数组正是您所需要的。


字节数组(byte[]已经是一个从0到255的项目数组。.NET中的char是多字节的,因为它们是Unicode。在.NET中没有类似于uchar的东西。


可以将字节数组转换为字符串

1
string str = System.Text.Encoding.ASCII.GetString(bytes);

或铸造/转换为char

1
char[] chars = Array.ConvertAll(bytes, Convert.ToChar);