类型 函数 库 utf8.* 返回值 数字 修订版本 版本 2024.3703 关键词 utf8, UTF-8, Unicode, 字符串, 宽度
计算s
的宽度(以字符位置为单位),同时考虑字符是否是
请注意,这只是一个近似值,可能有用,但仅限于适用等宽宽度估计的情况。
此函数的返回值取决于用法
如果 s
是一个代码点,则返回该代码点的宽度。
如果指定了 ambiIsDouble
且其值为 true
,则宽度不明确的字符的宽度为 2
;否则为 1
。作为比较,2
,而其他字符的宽度为 1
。
如果指定了 defaultWidth
,它将用作不可打印字符的宽度。
utf8.width( s [, ambiIsDouble [, defaultWidth]] )
字符串. 要检查的字符串。
布尔值. 如果为 true
,则宽度不明确的字符的宽度将视为 2
;否则视为 1
。
数字. 如果指定,此值将用作不可打印字符的宽度。
local utf8 = require( "plugin.utf8" ) local testStr = "♡ 你好,世界 ♡" print( utf8.width( testStr ) ) --> 14 print( utf8.width( testStr, true ) ) --> 16 print( utf8.width( utf8.codepoint( testStr, 5, 7 ), false ) ) --> 2