查看: 1262|回复: 4

[已经解决] 模拟print函数出现了乱码

  [复制链接]

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
回帖
670
发表于 2009-10-31 07:38:53 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 奶油Da蛋糕 于 2009-10-31 09:28 编辑
  1. def print(text)
  2. a = File.open("Game.ini")
  3.   b = a.readlines
  4.   a.close
  5.   for i in 0..b.size
  6.     a = b[i]
  7.     if a.include?("Title")  
  8.       tit = a.split(/=/)[1]
  9.       break      
  10.       end
  11.     end
  12. Win32API.new('user32','MessageBox',%w{L P P L},'I').call(0,text,tit,0)
  13. end
复制代码
  1. print "研究API是一件很复杂的事情!"
复制代码
---------------------------
API研究专用工程

---------------------------
鐮旂┒API鏄竴浠跺緢澶嶆潅鐨勪簨鎯咃紒
---------------------------
确定   
---------------------------
未命名.JPG
请问出现乱码的原因大概是什么?
我爱66RPG,但我讨厌66.
梦石
0
星屑
72
在线时间
21 小时
注册时间
2009-3-15
回帖
203
发表于 2009-10-31 07:42:53 | 显示全部楼层
http://211.91.172.65/mu/magicwin13f.rar

把上面这个下载下来

把乱码翻译一下即可
看到天上的星星了吗?
想一想,哪一颗属于你。
哪一颗属于我。
找到自己的星星,飞吧……
回复

使用道具 举报

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
回帖
670
 楼主| 发表于 2009-10-31 08:28:24 | 显示全部楼层
http://211.91.172.65/mu/magicwin13f.rar

把上面这个下载下来

把乱码翻译一下即可
倭卜僾伱 发表于 2009-10-31 07:42


晕...乱码的原因出在我使用API的时候可能用了错误的值吧,难道别人想玩我的游戏还得去下个软件翻译乱码?
我爱66RPG,但我讨厌66.
回复

使用道具 举报

神之瞳

梦石
0
星屑
60
在线时间
5 小时
注册时间
2009-7-5
回帖
290
发表于 2009-10-31 09:12:03 | 显示全部楼层
本帖最后由 上帝的眼睛 于 2009-10-31 09:18 编辑

感觉应该是编码错误
http://rpg.blue/viewthread.php?tid=135516&highlight=%2BNOSCBY
注意看4楼紫苏的回复

九月三日

  有时我真不理解,怎么有另一个人能够爱她,可以爱她,殊不知我爱她爱得如此真切,如此忘情,如此情意缱倦,除了她我什么也不了解,什么也不知道,什么也没有呀!
——摘自《少年维特之烦恼》

谨以 纪念一段消逝了的感情
ILY ZXY

NOIp什么的最讨厌了!

啊……讨厌,为什么我的网盘全部坏掉了……
zoomshare恢复了,虚惊一场
可恶的skydrive,我XX你的OO,竟把我的帐号封了!
回复

使用道具 举报

℃ake

梦石
0
星屑
50
在线时间
8 小时
注册时间
2009-6-6
回帖
670
 楼主| 发表于 2009-10-31 09:27:59 | 显示全部楼层
  1. def print(text)
  2. a = File.open("Game.ini")
  3.   b = a.readlines
  4.   a.close
  5.   for i in 0..b.size
  6.     a = b[i]
  7.     if a.include?("Title")  
  8.       tit = a.split(/=/)[1]
  9.       break      
  10.       end
  11.     end
  12. # API掕媊
  13.    m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
  14.    w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')

  15. # UTF-8 -> Unicode
  16.    len = m2w.call(65001, 0, text, -1, nil, 0);
  17.    buf = "\0" * (len*2)
  18.    m2w.call(65001, 0, text, -1, buf, buf.size/2);

  19. # Unicode -> S-JIS
  20.    len = w2m.call(0, 0, buf, -1, nil, 0, nil, nil);
  21.    ret = "\0" * len
  22.    w2m.call(0, 0, buf, -1, ret, ret.size, nil, nil);
  23.    
  24. Win32API.new('user32','MessageBox',%w{L P P L},'I').call(0,ret,tit,0)
  25. end
  26. print "研究API是一件很复杂的事情!"
复制代码
自己解决了...
我爱66RPG,但我讨厌66.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部