unicode和ansi...糊了!

vbhh 2000-04-25 09:37:00
各位仁兄:
关于unicode和ansi...兄弟我实在是搞不清楚了。
现在我用copymemory函数向内存映射文件中写入一字符串,然后开启另一个线程用openfilemapping来读出这个字符串,若我定义定长字符串30个字节,我写入“abcd”但是我发现读出的字符串中后面的空格有乱码.我怀疑是unicode和ansi自动转换的问题,特此向各位请教。

...全文
195 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengdun 2000-04-26
  • 打赏
  • 举报
回复
乱码的原因是你没有将定义的Buffer初始化,由于你向Buffer里写入的数据长度不够Buffer的长度,所以后面的部分当然就会出现乱码了。
hh1 2000-04-25
  • 打赏
  • 举报
回复
thanks!

另外请教一问题:能否以byte的类型写入一字符串,我现在程序所要做的就是从内存的某一地址中读出一个15字节的字符串“1234567”写入一个foxpro的dbf文件的一个15字节的字段中就万事ok!

thanks twice
thriller 2000-04-25
  • 打赏
  • 举报
回复
这应该不是unicode和ansi自动转换的问题。
字符串中后面的空格有乱码是因为读取的字符串数量不对。
应该自己确定所要复制的字符数量。
另外,定长字符串和不定长字符串有所不同,不能一概而论。
thriller
Un1 2000-04-25
  • 打赏
  • 举报
回复
去看看你的Email!
thriller 2000-04-25
  • 打赏
  • 举报
回复
别客气。
如果是这样,那就简单了。
dim sTmp$
dim abX() as byte
abx="1234567"
stmp=space(16)
copymemory byval stmp, abx(0),16
stmp=trim(strconv(stmp,vbunicode))

应该可以。
thriller

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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