<!-- 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)
distinct_tags = [tag for idx, tag in enumerate(tags['Tags']) if tag not in tags['Tags'][:idx]]
        # t
        self.assertEqual(len(tags['Tags']), len(distinct_tags))
        self.assertEqual(len(tags['Tags']), 2)
        self.assertEqual(tags['Tags'][0]['Key'], '123')
        self.assertEqual(tags['Tags'][0]['Value'], 'abc')
        self.assertEqual(tags['Tags'][1]['Key'], '456')
        self.assertEqual(tags['Tags'][1]['Value'], 'def')
        self.sns_client.untag_resource(
            ResourceArn=self.topic_arn,
            TagKeys=['123']
        )
        tags = self.sns_client.list_tags_for_resource(ResourceArn=self.topic_arn)
        self.assertEqual(len(tags['Tags']), 1)
        self.assertEqual(tags['Tags'][0]['Key'], '456')
        self.assertEqual(tags['Tags'][0]['Value'], 'def')
        self.sns_client.tag_resource(
            ResourceArn=self.topic_arn,
            Tags=[
                {
                    'Key': '456',
                    'Value': 'pqr'
                }
            ]
        )
        tags = self.sns_client.list_tags_for_resource(ResourceArn=self.topic_arn)
        self.assertEqual(len(tags['Tags']), 1)
        self.assertEqual(tags['Tags'][0]['Key'], '456')
        self.assertEqual(tags['Tags'][0]['Value'], 'pqr')
    def test_topic_subscription(self):