import binascii


def get_address_bytes_from_string(address_string):
    """
    Given a Bluetooth address as a string, optionally delimited by colons (':'), return the
    bytes representation of the address.

    :param address_string: A Bluetooth address string, optionally delimited by commas.  This value is case-insensitive.
    :return: A bytes value corresponding to the raw Bluetooth address.
    :raises: :exc:`ValueError` if `address_string` is not a valid Bluetooth address string.
    """
    address_string = address_string.replace(":", "")

    if len(address_string) != 12:
        raise ValueError("Invalid Bluetooth address: {!r}".format(address_string))

    try:
        # Address string is reversed from bytes data.
        return binascii.unhexlify(address_string)[::-1]

    except TypeError:
        raise ValueError("Invalid Bluetooth address: {!r}".format(address_string))