TestUTF8.cs
using UnityEngine;
using LuaInterface;
public class TestUTF8 : LuaClient
{
string script =
@"
local utf8 = utf8
function Test()
local l1 = utf8.len('你好')
local l2 = utf8.len('こんにちは')
print('chinese string len is: '..l1..' japanese len: '..l2)
local s = '遍历字符串'
for i in utf8.byte_indices(s) do
local next = utf8.next(s, i)
print(s:sub(i, next and next -1))
end
local s1 = '天下风云出我辈'
print('风云 count is: '..utf8.count(s1, '风云'))
s1 = s1:gsub('风云', '風雲')
local function replace(s, i, j, repl_char)
if s:sub(i, j) == '辈' then
return repl_char
end
end
print(utf8.replace(s1, replace, '輩'))
end
";
protected override LuaFileUtils InitLoader()
{
return new LuaResLoader();
}
//屏蔽,例子不需要运行
protected override void CallMain() { }
protected override void OnLoadFinished()
{
base.OnLoadFinished();
luaState.DoString(script);
LuaFunction func = luaState.GetFunction("Test");
func.Call();
func.Dispose();
func = null;
}
}
?