C#字节数组和字符数组与字符串之间的转换

1.marshal类,提供了一些方法集合,如分配非托管内存,拷贝非托管内存,转换托管和非托管类型,以及一些和非托管代码交互的杂类方法

//分配非托管内存
IntPtr hglobal = Marshal.AllocHGobal(100);
e.g : ushort* disBuf = (ushort*)Marshal.AllocHGobal(255);

//释放内存
Marshal.FreeHGlobal(hglobal);

2.fixed语句可防止垃圾回收器重新定位到可移动的变量,fixed语句仅允许存在于不安全的上下web中,还可以使用fixed关键字创建固定大小的缓冲区

3.字符数组和字符串之间的转化

//string->char[]
char[] c = source_str.ToCharArray();
//char[]->string
string des_str = string.join("",charArray);

4.字节数组和字符串之间的转化

//byte[]->string
string Dex_str = Encoding.Default.GetString(b);
//string->byte[]
Byte[] byteArray = Encoding.Default.GetBytes(source_str);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值