<!-- Love localstack? Please consider supporting our collective:
👉  https://opencollective.com/localstack/donate -->

# Type of request: This is a ...
[x ] bug report
# Detailed description

When a message gets posted directly to SQS Queue, then Listener is able to read payload as well as deserialize binary message attribute. 

If the same message is posted to SNS Topic first, and then gets routed to SQS Queue, 
binary message attribute becomes corrupted and not deserialize by the listener anymore. 

Both scenarios work as expected (message arrives intact and deserialize) when the same infrastructure is deployed to AWS.

## Expected behavior

Regardless, whether the message with binary message attribute is posted to SNS Topic or SQS Queue, it should arrive as it was sent, including binary message attribute. 

## Actual behavior

When a message is sent to SNS Topic first, and then routed via subscription with RawMessageDelivery to SQS Queue, the binary message attribute arrives corrupted.

# Steps to reproduce

Please see example project and readme on [gruff4l0/localstack-sns-sqs-bug-report](https://github.com/gruff4l0/localstack-sns-sqs-bug-report)
for topic_arn in SNS_SUBSCRIPTIONS:
        SNS_SUBSCRIPTIONS[topic_arn] = [
            sub for sub in SNS_SUBSCRIPTIONS[topic_arn]
            if sub['SubscriptionArn'] != subscription_arn
        ]
def _get_tags(topic_arn):
    if topic_arn not in SNS_TAGS:
        SNS_TAGS[topic_arn] = []
    return SNS_TAGS[topic_arn]
def do_list_tags_for_resource(topic_arn):
    return _get_tags(topic_arn)
def do_tag_resource(topic_arn, tags):
    existing_tags = SNS_TAGS.get(topic_arn, [])
    tags = [
        tag for idx, tag in enumerate(tags)
        if tag not in tags[:idx]
    ]
    def existing_tag_index(item):
        for idx, tag in enumerate(existing_tags):
            if item['Key'] == tag['Key']:
                return idx
        return None
    for item in tags:
        existing_index = existing_tag_index(item)
        if existing_index is None:
            existing_tags.append(item)
        else:
            existing_tags[existing_index] = item
    SNS_TAGS[topic_arn] = existing_tags
def do_untag_resource(topic_arn, tag_keys):