local u={}function u.Build(u)local z={}for C=1,#u,4096 do table.insert(z,string.char(unpack(u,C,math.min((C+4096)-1,#u))))end return table.concat(z,"")end function u.Trim(u)return(u:gsub("\094\037\115\043","")):gsub("\037\115\043\036","")end return u
local String = {}

--- Builds a string from a sequence of character codes
-- @param codes Array of character codes
function String.Build(codes)
	local output = {}

	for index = 1, #codes, 4096 do
		table.insert(output, string.char(
			unpack(codes, index, math.min(index + 4096 - 1, #codes))
		))
	end

	return table.concat(output, "")
end

--- Trims leading and trailing whitespace from a string
-- @param string String to trim
function String.Trim(string)
	return string
		:gsub("^%s+", "")
		:gsub("%s+$", "")
end

return String