there is the function : decodeURLComponent ,why not encodeURLComponent?

{
        size_t bytes_to_copy = src_curr_pos - src_prev_pos;
        memcpySmallAllowReadWriteOverflow15(dst_pos, src_prev_pos, bytes_to_copy);
        dst_pos += bytes_to_copy;
    }
    return dst_pos - dst;
}
template <bool plus_as_space>
struct DecodeURLComponentImpl
{
    static void vector(const ColumnString::Chars & data, const ColumnString::Offsets & offsets,
        ColumnString::Chars & res_data, ColumnString::Offsets & res_offsets)
    {
        res_data.resize(data.size());
        size_t size = offsets.size();
        res_offsets.resize(size);
        size_t prev_offset = 0;
        size_t res_offset = 0;
        for (size_t i = 0; i < size; ++i)
        {
            const char * src_data = reinterpret_cast<const char *>(&data[prev_offset]);
            size_t src_size = offsets[i] - prev_offset;
            size_t dst_size = decodeURL(src_data, src_size, reinterpret_cast<char *>(res_data.data() + res_offset), plus_as_space);
            res_offset += dst_size;
            res_offsets[i] = res_offset;
            prev_offset = offsets[i];
        }
        res_data.resize(res_offset);
    }
    [[noreturn]] static void vectorFixed(const ColumnString::Chars &, size_t, ColumnString::Chars &)