def split_string(joined, split_char="_"):
    """Split joined string and substitute back the null characters with an underscore if necessary.

    Inverse function of `join_strings(strings)`.

    Args:
        joined: str, the joined representation of the substrings.
        split_char: str, the character to split by.

    Returns:
        A tuple of strings with the splitting character (underscore) removed.

    Examples:
    ```python
        >>> split_string('asd__\x00xcv\x00\x00')
        ('asd', '', '_xcv__')
    ```
    """
    strings = joined.split(split_char)
    strings_copy = []
    for s in strings:
        strings_copy.append(s.replace("\0", split_char))
    return tuple(strings_copy)