这个问题不是简单的将字符转16进制,
问题是这样的:
已经得出一个字符串,如"484C27544111030000000000",要将其中的字符4个4个的转为ushort型数组:
{0x484c, 0x2754, 0x4111, 0x0300,0x0000,0x0000}试了很多办法,似乎都难以达到这个效果,比如ushort.Parse,Convert类等.
求高手解答.谢谢
问题是这样的:
已经得出一个字符串,如"484C27544111030000000000",要将其中的字符4个4个的转为ushort型数组:
{0x484c, 0x2754, 0x4111, 0x0300,0x0000,0x0000}试了很多办法,似乎都难以达到这个效果,比如ushort.Parse,Convert类等.
求高手解答.谢谢
解决方案 »
- msi装界面和安装后快捷方式乱码(在线等待)
- 派生类对象实例化基类对象和override的关系?
- 我用substring把他们无规则的截取怎么保存到数据库中
- 在c#中怎么改变一个图像的src值啊?
- 高手帮忙!!如何去除对话框上的关闭按钮???
- 关于读取MP3文件的问题
- 请教一下,如何在vc6写的com组件中实例化C#写的组件?
- 问下c#做的cs数据库连接的问题
- 请问写网络程序的时候需要过滤掉哪些字符
- 在dataGrid1_DoubleClick中调用dataGrid1_MouseDown事件,通过代码怎样用???
- C# winform 开发, 使其不去适应屏幕DPI 变化。
- C#与JAVA Base64编码问题~图片不能还原?
var str = "484C275441110300000000000";
var list = new List<ushort>();
for (var index = 0; index< str.Length - 4 ; index+=4)
{
list.Add(Convert.ToUInt16(str.Substring(index, 4), 16));
}
var array = list.ToArray();
你试了吗? Convert.ToUInt16(str.Substring(index, 4), 16));就是按16进制,解析字符串
我的意思是这个结果不是我想要的,我想要的结果是{0x484c, 0x2754, 0x4111, 0x0300,0x0000,0x0000}这样一个数组,
这些数据是要通过硬件写入到另一个设备中,格式是固定的.不过还是谢谢你提供给我一种解决问题的方法.我再想想....
10068 (10进制) == 0x2754 (16进制)这连个数组{18508,10068,16657,768,0,0}和{0x484c, 0x2754, 0x4111, 0x0300,0x0000,0x0000}对编译器而言,没有区别
如果还理解不了,就无解了
string s = Convert.ToString(x, 16).PadLeft(4, '0');
string ushrots ="0x" + s.Remove(0, 2) + s.Remove(2, 2);来达成,不过这样做看不出有什么意义啊。
谢谢bloodish.谢谢!!