import re


def splitArgString(arg_s: str) -> list:
    """
        Splits string of arguments.

        :param arg_s: String of arguments.
        :type arg_s: str
        :returns: List of arguments.
        :rtype: list
    """
    rv = []
    for match in re.finditer(r"('([^'\\]*(?:\\.[^'\\]*)*)'"
                             r'|"([^"\\]*(?:\\.[^"\\]*)*)"'
                             r'|\S+)\s*', arg_s, re.S):
        arg = match.group().strip()
        if arg[:1] == arg[-1:] and arg[:1] in '"\'':
            arg = arg[1:-1].encode("ascii", "backslashreplace") \
                .decode("unicode-escape")
        try:
            arg = type(arg_s)(arg)
        except UnicodeError:
            pass
        rv.append(arg)
    return rv