开发者

Is there any Lua library that converts a string to bytes using UTF8 encoding?

I wonder whether this kind of libra开发者_如何学编程ry exists.


slnunicode is part of the collection of general purpose lua support libraries developed for the Selene database project.

It's also available as a luarock


Lua strings are a sequence of bytes. When you store UTF8 text in them, you're already storing "UTF8 bytes". You can get the bytes like with all other strings, using string.byte(s,i,j):

local bytes = { string.byte(unicodeString, 1,-1) }

Now bytes is a table containing your "UTF8 bytes". More information about string.byte and UTF8 in Lua is available at:

Standard Lua string library

Lua 5.3 standard utf8 library

Presentation by Roberto Ierusalimschy (one of the creators of Lua) on the future of Lua, which talks about many things and one of them is UTF8 support. It was released before UTF8 support was built into Lua.


Lua 5.3 has UTF-8 support in the standard library now.

For example, to get a UTF-8 string's code points:

for p, c in utf8.codes("瑞&于") do
  print(c)
end

Output:

29790
38
20110
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜