def decode(value, strip=False):
    """Python 2/3 friendly decoding of output.

    Args:
        value (str | unicode | bytes | None): The value to decode.
        strip (bool): If True, `strip()` the returned string. (Default value = False)

    Returns:
        str: Decoded value, if applicable.
    """
    if value is None:
        return None
    if isinstance(value, bytes) and not isinstance(value, unicode):
        value = value.decode("utf-8")
    if strip:
        return unicode(value).strip()
    return unicode(value)