TC官方合作论坛

 找回密码
 立即注册
查看: 251|回复: 6
打印 上一主题 下一主题

[问题] SysAllocStringByteLen 字节集转文本

[复制链接]
跳转到指定楼层
楼主
发表于 2015-8-21 08:21:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



dllcall("oleaut32.dll","wchar *","SysAllocStringByteLen","char *","{180, 243, 210, 175}","int",4)

用此 api 进行字节集转换出来的文本是乱码的,甚是苦恼,求指点 !


回复

使用道具 举报

沙发
发表于 2015-8-21 11:09:27 | 只看该作者
本帖最后由 超自然 于 2015-8-21 11:14 编辑

你这完全不通...
https://msdn.microsoft.com/en-us/library/ms221637.aspx
人家要的是LPCSTR
L是long 长的意思
p    是指针
cstr 是字符串
合起来是长整型字符串指针
你就没闹明白何为字节集
E叫字节集,事实上它应该是字节数组
何为数组,何为字节
数组者:内存中一段线性连续的内存块
字节者:其值在0-255之间
E用个{}括起来是按C的数组表达
括号中的数字都是在内存中的,而不是照着写个字符串用花括号括起来就是数组...
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-8-21 14:42:49 | 只看该作者
超自然 发表于 2015-8-21 11:09
你这完全不通...
https://msdn.microsoft.com/en-us/library/ms221637.aspx
人家要的是LPCSTR

你懂,你用TC写个出来看看。
回复 支持 反对

使用道具 举报

地板
发表于 2015-8-21 14:54:16 | 只看该作者
  1. 功能 按钮7_点击()
  2.     var a,b
  3.     a="哇哈哈"
  4.     b=dllcall("oleaut32.dll","wchar *","SysAllocStringByteLen","long",获取变量地址(a),"long",字符串长度(a)*2)
  5.     traceprint(b)
  6. 结束
复制代码
恩,睁大眼睛瞧好了.这就给你看看

回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2015-8-21 15:48:41 | 只看该作者
超自然 发表于 2015-8-21 14:54
恩,睁大眼睛瞧好了.这就给你看看

你是在开玩笑吗?

娃哈哈 转成 娃哈哈
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2015-8-21 15:50:30 | 只看该作者
超自然 发表于 2015-8-21 14:54
恩,睁大眼睛瞧好了.这就给你看看

206,210,202,199,196,227,180,243,210,175

把上面的转成文本有惊喜 喔~
回复 支持 反对

使用道具 举报

7#
发表于 2015-8-21 16:24:59 | 只看该作者
回头是岸 发表于 2015-8-21 15:50
206,210,202,199,196,227,180,243,210,175

把上面的转成文本有惊喜 喔~

小子,你太不长进了,好心好意教你还骂人
喜欢当大爷是吧,我让你当7天大爷
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-21 21:52 , Processed in 0.149702 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表