C# byte[]数组超限问题,Encoding.UTF8.GetBytes()? c#byte[]数组超限char[]encoding.UTF-8 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 懒得看LZ的这多代码。只说一个问题:st = (short)rand.Next(200); datas[204 + i] = (Char)(st >> 8); datas[254 + i] = (Char)(st);st>>8是右移8位,本来st就只占有右边的8位(<256).你一右移,不是都变成0了么?你确定这是你的目的? 是没问题,你断点执行一下。我是想获取data1的个数,需要做别的事。datas的数是不一样的,导致最后data1的个数是不定的,这就麻烦了 UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。====================================不知道是否准确,你可以查查,我觉得这可能是你的问题所在。要想一一对应,使用ASCII或UTF32应该可以,你测试下。 datas[354 + i] = (Char)(st);把short型强转成char,付给char,当st>127的时候,其实这句没实现取低8位吧,还是把整个数付给了datas,再getBytes就会出错,应该 datas[354 + i] = (Char)(st &0xFF); datagridview选中单元个更改背景颜色 docx文档添加自定义文档属性工具(customxml) C# GDI 用鼠标绘制曲线 继承自WeifenLuo.WinFormsUI.Docking得窗口如何更新? C#中覆盖(override)与隐藏(hide)的区别? 关于线程和端口的问题!高手们应该不会觉的难的问题! C#中如何取屏幕的分辨率? .net如何读取json数据 .net的c/s结构中,怎样让textbox右键粘帖不可用呢 关于c#程序员的前途。 C# 扩展方法和继承 直接使用XmlDocument,能否格式化输出一个Xml文件的内容到屏幕?
st = (short)rand.Next(200);
datas[204 + i] = (Char)(st >> 8);
datas[254 + i] = (Char)(st);
st>>8是右移8位,本来st就只占有右边的8位(<256).你一右移,不是都变成0了么?你确定这是你的目的?
====================================
不知道是否准确,你可以查查,我觉得这可能是你的问题所在。
要想一一对应,使用ASCII或UTF32应该可以,你测试下。
把short型强转成char,付给char,当st>127的时候,其实这句没实现取低8位吧,还是把整个数付给了datas,再getBytes就会出错,
应该 datas[354 + i] = (Char)(st &0xFF);