0

我正在使用 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 函数的正确方法是什么?我错过了什么吗?

4

1 回答 1

1

UTF8 是 System 类的静态属性。文本。编码。

此外,GetBytes 是一个实例方法,因此请使用 Lua 的方法调用语法来调用它。

所以:

bytes = luanet.System.Text.Encoding.UTF8:GetBytes("foobar")
于 2014-08-16T16:55:01.903 回答