C# char数据类型
这样一个转换:char[]data=datareceive.ToCharArray();char的取值是:-128—+127,这样满足不了我的要求,我试着把它改编成无符的...
这样一个转换: char[] data = datareceive.ToCharArray(); char的取值是:-128—+127,这 样满足不了我的要求,我试着把它改编成无符的可是不知道怎么改,求助大神!无符号的取值应该是0—255
展开
3个回答
展开全部
C#中char的取值真不是 -128~+127 ……
C#中char是两个字节,和C++中的一个字节不同。
如果你要特定编码下的字节数组,请考虑
byte[] data = System.Text.Encoding.Default.GetBytes(datareceive);
C#中char是两个字节,和C++中的一个字节不同。
如果你要特定编码下的字节数组,请考虑
byte[] data = System.Text.Encoding.Default.GetBytes(datareceive);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string s = "我是中国人的12sabcdef";
char[] c = s.ToCharArray();
foreach (char i in c)
{
textBox1.AppendText(((byte)i).ToString()+ " ");
}
char 转换成 byte则可。。你看看。。结果
追问
我试了,你这样是一个字符一个字符转的,但是我接受来的不是这样,例如:88,你这样显示是56 56,但是是一个字符呢那就是136,这样 就超出范围了!
追答
被你绕晕了,不太清楚你想要的是什么样的结果了。。。char 值范围是16位的。char值随便装65536个数值呢,byte呢,取值正好是0-255呢,在这还真不太理解你说的超出范围,能具体说一下你这应用吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义从0-255这个范围是干什么的呢,字符串转换为字符这个取值范围不够吗?
更多追问追答
追问
我里面存的是十六进制的数,溢出了!
追答
十六进制数为什么非要用char去存储。不能直接用更大的类型吗?难道十六进制数是存储到字符串中的。你能不能把你的设计思路给我说一下?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询