Byte*怎么转换成string 需要把Byte*指针转换成string,Byte*是变长度的,最长1024Byte. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前提是知道编码.不然没法保证所有的都可以转换回来.IMAP 协议的文字编码就很变态. 这个只能转换Byte数组,不能转换Byte*指针,编译的时候通不过. byte *b;IntPtr p = (IntPtr)b;Marshal.PtrToStringXXX(p,xxxx) xxxx是可以指定一个长度。PtrToStringXXX 指PtrToStringAnsi,PtrToStringAuto,PtrToStringBSTR 等等 Byte*里面是16进制数,应该用哪个?我还是只需要16进制数.string里面要是16进制数 主要是看什么编码的,ansi啦、unicode啦,你试试哪个转换后不是乱码就用哪个 ANSI应该是对的.但是打印输出的时候,显示的不是16进制数,而是解码以后的数了.我必须还要对这个string要做解码处理的. 你要解码呀,解码不用转成字符串,直接解就是了,一个字节就是一个byte数据,四个字节就是一个int32数据。还可以这样:*(b+1),下一个字节;*((int*)b+1),下一个整数,Marshal.PtrToStringAnsi((IntPtr)(b+10),20),从第十个字节取20个字节转换成字符串 谢谢你热情回复.我的意思是,比如BYTE* b = {00,12,13,ac}我要在转化成string后,输出显示的还是00,12,13,ac现在输出的都是ANSI字符了. 用for语句,读去到数组中,再ToString()?这样是不是效率比较低?我有大量数据包要处理. 那你先得用Marshal.Copy把数据复制到byte[],再用BitConverter.ToString()转换后去掉-了 引用C++的dll,要怎么改啊 有明文和密码如何求得加密算法 哪里能找到带有图片说明的windows控件参考手册? 音乐软件关于-试唱 新上传了一批【免分】下载资源 关于XML文件 如何实现webbrowser中navigate线程同步 小弟初来乍到,问个小问题!<.net的安装问题>! 那位大哥有C#播放WAV声音文件的例子 IHTMLElement如何实现HtmlElement.invokemember()的功能 DataGridView的一个小问题 vb.net自定义控件中如何建立“集合”字段
IMAP 协议的文字编码就很变态.
IntPtr p = (IntPtr)b;
Marshal.PtrToStringXXX(p,xxxx)
PtrToStringXXX 指PtrToStringAnsi,PtrToStringAuto,PtrToStringBSTR 等等
还可以这样:*(b+1),下一个字节;*((int*)b+1),下一个整数,Marshal.PtrToStringAnsi((IntPtr)(b+10),20),从第十个字节取20个字节转换成字符串
用for语句,读去到数组中,再ToString()?这样是不是效率比较低?我有大量数据包要处理.