社区
C#
帖子详情
怎样将short[]数组转换成byte[]数组
cafecai
2006-04-29 09:13:47
怎样将short[]数组转换成byte[]数组
...全文
1386
23
打赏
收藏
怎样将short[]数组转换成byte[]数组
怎样将short[]数组转换成byte[]数组
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
losedxyz
2006-04-30
打赏
举报
回复
mark
cafecai
2006-04-29
打赏
举报
回复
dreadknightll(Dread Knight):
ToCharArray()是string类的方法
soaringbird
2006-04-29
打赏
举报
回复
或者
unsafe
{
fixed (short* ps = s)
{
System.Runtime.InteropServices.Marshal.Copy((IntPtr)ps, b, 0, 20);
}
}
soaringbird
2006-04-29
打赏
举报
回复
或者
unsafe
{
fixed (byte* pb = b)
{
System.Runtime.InteropServices.Marshal.Copy(s, 0, (IntPtr) pb, 10);
}
}
xiaomatian
2006-04-29
打赏
举报
回复
学习学习
soaringbird
2006-04-29
打赏
举报
回复
short[] s = new short[10];
byte[] b = new byte[20];
unsafe
{
fixed (short* ps = s)
{
byte* pb = (byte*)ps;
for (int i = 0; i < 20; i++,pb++)
{
b[i] = *pb;
}
}
}
或者
unsafe
{
fixed (byte* pb = b)
{
short* ps = (short*)pb;
for (int i = 0; i < 10; i++, ps++)
{
*ps = s[i];
}
}
}
Ivony
2006-04-29
打赏
举报
回复
不知道楼主要干什么。
这种事情在C++里面很简单,memcopy就成。
但C#里面的数组和C++里面的数组完全不是一个概念,有些东西应该要转变思维。
rx78gp01
2006-04-29
打赏
举报
回复
short[] bbb=new short[10];
......
byte[] ddd=(byte[])sht;
liujiwe79
2006-04-29
打赏
举报
回复
short[] arrshort = { 1, 2, 3, 4, 5 };
byte[] arrbyte = new byte[arrs.Length * 2];
for (int i = 0; i < arrs.Length; i++)
{
byte[] bi = System.BitConverter.GetBytes(arrs[i]);
arrb[2 * i] = bi[0];
arrb[2 * i + 1] = bi[1];
}
dreadknightll
2006-04-29
打赏
举报
回复
short [] sht;
……
byte [] byt;
byt=System.Text.Encoding.UTF8.GetByte(sht.ToCharArray());
viena
2006-04-29
打赏
举报
回复
1
short[] arrs = {1, 32767, -8, 4, 5};
int len=arrs.Length*2;
byte[] arrb=new byte[len];
for(int i=0;i<len;i+=2)
{
short tmp=arrs[i/2];
arrb[i]=(byte)(tmp>>8);
arrb[i+1]=(byte)(tmp&0x00FF);
}
Ninputer
2006-04-29
打赏
举报
回复
short[] arrs = { 1, 32767, -8, 4, 5 };
byte[] arrb = new byte[arrs.Length * 2];
for (int i = 0; i < arrs.Length; i++)
{
byte[] bi = System.BitConverter.GetBytes(arrs[i]);
arrb[2 * i] = bi[0];
arrb[2 * i + 1] = bi[1];
}
cafecai
2006-04-29
打赏
举报
回复
Ninputer(装配脑袋):
我用的是vs 2003,有能在2003用的方法吗?
cafecai
2006-04-29
打赏
举报
回复
viena() :
你的方法好像不行吧,short是16位的数据,arrb[i]=(byte)arrs[i];这样转换会有数据丢失。
例如short[16]转换成byte数组,那么byte数组的长度应该是32才对啊
Ninputer
2006-04-29
打赏
举报
回复
注意我贴的用法仅限C# 2.0
Ninputer
2006-04-29
打赏
举报
回复
byte[] t = Array.ConvertAll<short, byte>(arr, Convert.ToByte);
arr就是那个Short数组
guodawu
2006-04-29
打赏
举报
回复
Study!!!
viena
2006-04-29
打赏
举报
回复
short[] arrs = {1,2,3,4,5};
byte[] arrb=new byte[arrs.Length];
for(int i=0;i<arrs.Length;i++)
{
arrb[i]=(byte)arrs[i];
}
itmingong
2006-04-29
打赏
举报
回复
mark
soaringbird
2006-04-29
打赏
举报
回复
对,Buffer.BlockCopy更简单
加载更多回复(3)
byte
数组
转
换工具类
byte
数组
转
int,
byte
数组
转
short
,
short
转
byte
数组
byte
数组
操作的工具类,支持
byte
数组
转
int,int转
byte
数组
,
byte
数组
转
short
,
short
转
byte
数组
。。。 下载的人多了,csdn会自动涨分,现在可以手动调了,我给降到最低了
java实现的字节
数组
转
换成
基本类型,基本类型转
换成
byte
[]
char
short
int long float double 转
换成
byte
数组
Unity常用基础数据类型
s
byte
、
byte
、
short
、u
short
、int、uint、long、ulong8个是整数,他们之间的区别就是表示氛围不一样,而对于范围不一样的根本原因是类型在内存中的存储不同。
C#
Byte
数组
转
Int32
Short
Float(浮点数)
C#
Byte
数组
数值转花 Int32
Short
Float 浮点数 自己写的Test 有问题可以联系我
java数据类型转
byte
数组
ip地址转4字节
byte
,char转2字节
byte
,
byte
数组
转
char,int整数转换为4字节的
byte
数组
,
byte
数组
转
换为int整数,double类型转8字节
数组
,8位
数组
转
double,long整数转换为8字节的
byte
数组
,
short
整数转换为2字节的
byte
数组
,
byte
数组
转
换为无符号
short
整数,
byte
数组
转
换为无符号
short
整数
C#
110,545
社区成员
642,580
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章