unicode

unicode模块包含一系列为Auto4设置的辅助函数,主要用来处理 UTF-8 编码的文本。

用法

unicode = require 'aegisub.unicode'导入模块。

unicode.charwidth

摘要:width = unicode.charwidth(instring, index=1)

返回使用UTF-8编码时,在instring中位于index的代码点(code point)所占用的字节数。指向的字符会被假定是一种前缀字节(也就是代码点的首字节)。

index参数是可选的,不填时其默认值为1,意为返回instring的首字符宽度。

unicode.chars

摘要:for char in unicode.chars(instring) do ... end

返回一个迭代器函数用于循环所给的UTF-8编码字符串中的每一个代码点。 对于循环中的每次迭代,char会包含表示字符串中下一代码点的字符串。此字符串长度可能会大于一字节。

unicode.len

摘要:length = unicode.len(instring)

以代码点为单位判断所给UTF-8编码的字符串的长度。

注意此函数的时间复杂度不为常数阶,而是与instring所含代码点的数量成比例的线性阶(O(N))。

unicode.codepoint

摘要:val = unicode.codepoint(instring)

读取instring中的首个Unicode代码点。

unicode.to_upper_case

摘要:upper = unicode.to_upper_case(instring)

将一个字符串转换为大写。 此函数可处理读音符号、非拉丁文字等文本。

unicode.to_lower_case

摘要:lower = unicode.to_lower_case(instring)

将一个字符串转换为小写。 此函数可处理读音符号、非拉丁文字等文本。

unicode.to_fold_case

摘要:folded = unicode.to_fold_case(instring)

将一个字符串折叠大小写(fold case)。 这种模式类似于小写,但对语种不敏感,因此用在大小写不敏感的对比时会有更好的表现。