LuaInterface:从Lua Script调用System.Encoding.UTF8.GetBytes

时间:2014-08-16 11:20:35

标签: .net lua luainterface

我正在使用LuaInterface在Lua中使用.NET类型。我想通过使用.NET的Cryptography类来展示这种能力。但是,为了将字符串传递给 RSACryptoProvider ,我需要事先将其转换为字节数组。这通常可以使用 System.Encoding.UTF8.GetBytes 来完成。但是,尝试调用此函数会产生错误:

> bytes = luanet.System.Encoding.UTF8.GetBytes("foobar")
stdin:1: No such type: System.Encoding.UTF8.GetBytes
stack traceback:
        [C]: in function 'error'
        [string "local metatable = {}
                        ..."]:30: in function 'GetBytes'
        stdin:1: in main chunk
        [C]: ?

调用GetBytes函数的正确方法是什么?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

UTF8是System类的静态属性。 Text .Encoding。

此外,GetBytes是一个实例方法,所以用Lua的方法调用语法调用它。

所以:

bytes = luanet.System.Text.Encoding.UTF8:GetBytes("foobar")