C#的Encoding.UTF8.GetBytes问题 唉,让我说你什么好呢?既然你都“纵贯”.net和java了,难道没有走过正规的计算机原理和编程初步的培训么?int的-28就是byte的228,它们是同一个东西。我只好叹息了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你一定要知道.net如何“转换”,你可以这样测试一下:int x=-28;byte y=(byte)x;关键是,你纠结在什么“输出”上,我估计你是只相信眼睛(只在某个编码输出的控制台上去看)而不相信自己的大脑。 晕,c#的byte原来是无符号的,嗨,微软的设计..... 什么话?!你以为java的byte就是有符号的?世界上哪有什么有符号的byte?你自己对java“输出”数据的理解出了问题。 Byte字面理解确实应该是无符号的。 C#有带符号型和无符号型byte,默认是无符号型,你可以强制转换为带符号型sbyte如下 var array = new byte[]{228, 184, 173, 229, 155, 189}; var value = Array.ConvertAll(array,b=>(sbyte)b); foreach (sbyte v in value) Console.Write(v+" "); C#中所有数据类型都区分有符合和无符合,只是byte比较特殊默认无符合,有符合带s。其他默认有符号,而无符合的带u 符合在组合四字节的int时会存在很大的差异的。搞定了,用sbyte好了, 晕,java的手册上写的很清楚啊,byte的范围是 -128到127啊,类似c++中的char型啊,我计算机原理,补码学习的没问题,只是想知道c#有什么更科学的输出方法,不过感谢sp1234的热心回复,就是奇怪。 有一篇整理得非常好的文章: string和byte[]的转换 (C#) 求问C语言的byte没符号吗? 求助 如何判断webBrowser跳转页面后的加载完成 如何把文件夹d:\p\1\a移动到d:\j\c文件夹下 如何在单击右键时出现右键菜单的同时选定一项 windows service中调用mshtml 菜鸟求助 关于dataGrid的问题 怎樣將backspace鍵失效 新手的问题. 请教有关类的扩展 关于DataTable的排序问题 请教byte[]数组与string的转换问题 如何让光标随着文字往后移???
byte y=(byte)x;关键是,你纠结在什么“输出”上,我估计你是只相信眼睛(只在某个编码输出的控制台上去看)而不相信自己的大脑。
sbyte如下
var array = new byte[]{228, 184, 173, 229, 155, 189};
var value = Array.ConvertAll(array,b=>(sbyte)b);
foreach (sbyte v in value)
Console.Write(v+" ");
其他默认有符号,而无符合的带u
符合在组合四字节的int时会存在很大的差异的。搞定了,用sbyte好了,
晕,java的手册上写的很清楚啊,byte的范围是 -128到127啊,类似c++中的char型啊,我计算机原理,补码学习的没问题,只是想知道c#有什么更科学的输出方法,不过感谢sp1234的热心回复,就是奇怪。
求问C语言的byte没符号吗?