87 lines
2.4 KiB
Lua
87 lines
2.4 KiB
Lua
---@meta utf8
|
|
|
|
---@version >5.3
|
|
---
|
|
---
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8"])
|
|
---
|
|
---@class utf8lib
|
|
---
|
|
---用于精确匹配到一个 UTF-8 字节序列的模式,它假定处理的对象是一个合法的 UTF-8 字符串。
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.charpattern"])
|
|
---
|
|
---@field charpattern string
|
|
utf8 = {}
|
|
|
|
---
|
|
---接收零或多个整数, 将每个整数转换成对应的 UTF-8 字节序列,并返回这些序列连接到一起的字符串。
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.char"])
|
|
---
|
|
---@param code integer
|
|
---@param ... integer
|
|
---@return string
|
|
---@nodiscard
|
|
function utf8.char(code, ...) end
|
|
|
|
---
|
|
---返回一系列的值,可以让
|
|
---```lua
|
|
---for p, c in utf8.codes(s) do
|
|
--- body
|
|
---end
|
|
---```
|
|
---迭代出字符串 s 中所有的字符。 这里的 p 是位置(按字节数)而 c 是每个字符的编号。 如果处理到一个不合法的字节序列,将抛出一个错误。
|
|
---
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.codes"])
|
|
---
|
|
---@param s string
|
|
---@param lax? boolean
|
|
---@return fun(s: string, p: integer):integer, integer
|
|
function utf8.codes(s, lax) end
|
|
|
|
---
|
|
---以整数形式返回 `s` 中 从位置 `i` 到 `j` 间(包括两端) 所有字符的编号。
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.codepoint"])
|
|
---
|
|
---@param s string
|
|
---@param i? integer
|
|
---@param j? integer
|
|
---@param lax? boolean
|
|
---@return integer code
|
|
---@return integer ...
|
|
---@nodiscard
|
|
function utf8.codepoint(s, i, j, lax) end
|
|
|
|
---
|
|
---返回字符串 `s` 中 从位置 `i` 到 `j` 间 (包括两端) UTF-8 字符的个数。
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.len"])
|
|
---
|
|
---@param s string
|
|
---@param i? integer
|
|
---@param j? integer
|
|
---@param lax? boolean
|
|
---@return integer?
|
|
---@return integer? errpos
|
|
---@nodiscard
|
|
function utf8.len(s, i, j, lax) end
|
|
|
|
---
|
|
---返回编码在 `s` 中的第 `n` 个字符的开始位置(按字节数) (从位置 `i` 处开始统计)。
|
|
---
|
|
---[查看文档](command:extension.lua.doc?["en-us/54/manual.html/pdf-utf8.offset"])
|
|
---
|
|
---@param s string
|
|
---@param n integer
|
|
---@param i? integer
|
|
---@return integer p
|
|
---@nodiscard
|
|
function utf8.offset(s, n, i) end
|
|
|
|
return utf8
|