您的位置:首页 > 编程语言 > Lua

开始学习LUA,在LUA中使用UNICODE字符串

2008-12-05 00:30 281 查看
    新买到LUA程序设计(第2版)开始学习LUA程序设计。
    今天测试用LUA调用windows的MessageBoxW函数。需要在LUA中定义UNICODE字符串。LUA的string类型为8位编码,包括数值0,可以编码任意二进制数据。如果编码UNICODE,则需要使用"/<ddd>"转义序列。如字符串"LUA"如果使用UNICODE 在LUA中表示为:
text = "/076/000/085/000/065/000"如果字符串很长,也可以使用TABLE的方式来表示:
text = table.concat{"/076/000","/085/000","/065/000"}   我编写的LUA程序如下,win32.dll目前仅包含MessageBoxW一个函数:
-- test_win32.lua
require "win32"

local title = table.concat{"/084/000","/104/000","/105/000","/115/000","/032/000",
"/105/000","/115/000","/032/000","/097/000","/032/000",
"/116/000","/101/000","/115/000","/116/000"}

local text = table.concat{"/069/000","/110/000","/103/000","/108/000","/105/000",
"/115/000","/104/000","/013/000","/010/000","/073/108",
"/087/091","/013/000","/010/000","/092/213","/109/173",
"/180/197","/013/000","/010/000"}

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程序界面如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息