将简单的lua代码转换为C#

时间:2016-12-06 08:59:11

标签: c# lua

我在lua中有一个简单的代码,我需要将其转换为C#,但由于我不理解lua代码,因此我无法执行此操作。 代码是:

function ToText(str)
  local res = ""
  local dtable = "4\rw+6d\b2aQ9\025\006Lu35\"$xPS)[@Y\024'G7U\001c\000W>1ti*=\021\020kB&\004e\019\031pE%D`H\003.<\016\026\023\017bN:\a,8(jm{\028r\014l- ]v\002f|\029R\vZy\005V^\n#C}~g_oz;\030hO\\As\f0!/X?\tMq\022IKTn\018\027J\015F"
  for i = 1, #str do
    local b = str:byte(i)
    if b > 0 and b <= 127 then
      res = res .. string.char(dtable:byte(b))
    else
      res = res .. string.char(b)
    end
  end
  return res
end

1 个答案:

答案 0 :(得分:0)

逐字翻译大概就是这样,虽然我仍然不确定这个public static string ToText(this string str) { var result = new StringBuilder(); var dtable = "4\rw+6d\b2aQ9\025\006Lu35\"$xPS)[@Y\024'G7U\001c\000W>1ti*=\021\020kB&\004e\019\031pE%D`H\003.<\016\026\023\017bN:\a,8(jm{\028r\014l- ]v\002f|\029R\vZy\005V^\n#C}~g_oz;\030hO\\As\f0!/X?\tMq\022IKTn\018\027J\015F"; foreach(Char c in str) { var byteValue = Convert.ToByte(c); if(byteValue > 0 && byteValue <= 127( { result.Append(dtable[byteValue]); } else { result.Append(c); } } return result; } 变量你可能想检查LUA是如何逃脱的。

postMessage