util.string.clean
Shared
Replaces invalid UTF-8 byte sequences with a replacement string
Syntax
local result, was_clean = util.string.clean(
input,
replacement = "\xEF\xBF\xBD"
)Parameters
| Type | Name | Description |
|---|---|---|
string | input | String to clean |
string | replacement | String to substitute in place of each invalid byte sequence - defaults to the Unicode replacement character (U+FFFD) |
Returns
| Type | Name | Description |
|---|---|---|
string | result | Cleaned string - identical to input if it was already valid |
bool | was_clean | true if input was already valid UTF-8 and no replacement occurred |
Examples
local result, was_clean = util.string.clean("hello")
core.engine.print("info", result, was_clean) -- 'hello' truelocal result, was_clean = util.string.clean("ab\xFFcd")
core.engine.print("info", was_clean) -- false
core.engine.print("info", result) -- 'ab' .. '\xEF\xBF\xBD' .. 'cd'local result = util.string.clean("ab\xFFcd", "?")
core.engine.print("info", result) -- 'ab?cd'