unicode字符串:在LUA中使用UNICODE字符串



今天测试用LUAwindowsMessageBoxW需要在LUA中定义UNICODELUA类型为8位编码包括数值0可以编码任意 2进制数据如果编码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界面如下:


Tags:  字符串中的双引号 去掉字符串中的空格 使用unicode搜索 unicode字符串

延伸阅读

最新评论

发表评论