pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决

nierhua 2014-10-18 03:57:24
pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决
...全文
808 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2014-10-20
  • 打赏
  • 举报
回复
引用 楼主 nierhua 的回复:
pb版本9.0 用函数String(long, "address" )读取内存中字符数据时,如果是汉字会变成乱码,应该怎么解决
重要的不是string(long, "address"),重要的是你怎么去读取内容 如果是pb12 ls_temp = String(long, "address" ) lb_blob = blob(ls_temp) //EncodingUTF16LE! is default ls_result = string(lb_blob, EncodingANSI!) 可以转换编码,但pb9是不可以的,建议你用copymemery,更灵活一些
njz168 2014-10-20
  • 打赏
  • 举报
回复
PB的这种用法,更多时候用来获取Triggerevent传递的字符串参数,不会出现乱码。 如果不是triggerevent传递的字符串,而是API函数的字符串指针,那请确保该指针是指向GBK的字符集。 否则无法使用string(long,"address"). 你可以用copymemery等API转换成blob,或者其他API函数转成GBK字符集的字符串。
nierhua 2014-10-20
  • 打赏
  • 举报
回复
应该是根据内存地址去字符数据吧
laoer_2002 2014-10-19
  • 打赏
  • 举报
回复
这是什么用法?

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧