Sollyu

  • 捐赠
  • 关于
  1. 首页
  2. 原创文章
  3. 正文

C++基础:在LUA中使用UNICODE字符串

2014年6月17日 4512点热度 0人点赞 0条评论

今天测试用LUA调用windows的MessageBoxW函数。需要在LUA中定义UNICODE字符串。LUA的string类型为8位编码,包括数值0,可以编码任意二进制数据。如果编码UNICODE,则需要使用"\"转义序列。如字符串"LUA"如果使用UNICODE 在LUA中表示为: text = "760085006500"如果字符串很长,也可以使用TABLE的方式来表示:

text = table.concat{"7600","8500","6500"}

我编写的LUA程序如下,win32.dll目前仅包含MessageBoxW一个函数:

-- test_win32.lua
require "win32"
local title = table.concat{"8400","\10400","\10500","\11500","3200",
"\10500","\11500","3200","9700","3200",
"\11600","\10100","\11500","\11600"}
local text = table.concat{"6900","\11000","\10300","\10800","\10500",
"\11500","\10400","1300","1000","73\108",
"8791","1300","1000","92\213","\109\173",
"\180\197","1300","1000"}
win32.MessageBoxW(0,text,title,0)

为了在LUA中方便的编写UNICODE字符串,我使用WTL编写了一个LUA用UNICODE转换程序,支持unicode->lua(table)和lua(table)->unicode的双向转换。

下载地址: http://www.cppblog.com/Files/visualfc/lua_uni.zip 压缩包中包括了LUA_UNICODE的源代码,源码中的BIN目录中包括编译好的可执行文件和LUA脚本。 LUA_UNI程序使用WTL编写,在VS60下使用VisualFC插件设计完成。 LUA_UNICODE程序界面如下: C++基础:在LUA中使用UNICODE字符串

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: C++ lua unicode 字符串
最后更新:2014年6月17日

sollyu

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 sollyu.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

苏ICP备15007531号