Amazon SQS邮件正文中的二进制字符无效

时间:2009-07-23 05:23:37

标签: java unicode amazon-web-services message amazon-sqs

我有一个将消息发送到Amazon SQS队列的Web应用程序。亚马逊sqs lib抛出'AmazonSQSException'  因为消息包含无效的二进制字符。该消息是从传入的http请求获得的引用者。这就是它的样子:

http://ads.vrx.adbrite.com/adserver/display_iab_ads.php?sid=1220459&title_color=0000FF&text_color=000000&background_color=FFFFFF&border_color=CCCCCC&url_color=008000&newwin=0&zs=3330305f323530&width=300&height=250&url=http%3A%2F%2Funblockorkutproxy.com%2Fsearch.php%2FOi8vZG93%2FbmxvYWRz%2FLnppZGR1%2FLmNvbS9k%2Fb3dubG9h%2FZGZpbGUv%2FNTY5MTQ3%2FNi9NeUN1%2FdGVHaXJs%2FZnJpZW5k%2FWmFoaXJh%2FLndtdi5o%2FdG1s%2Fb0%2F>的 ^FÃ'}úÃ< 99>一种«).J

看起来粗体字符是无效字符。有没有一种简单的方法可以过滤掉亚马逊不接受的字符字符?

Here是亚马逊在邮件正文中允许的字符。我不知道我应该使用什么正则表达式用''

替换无效字符

1 个答案:

答案 0 :(得分:1)

这取决于您使用的编程语言。例如,几种编程语言允许您直接将链接到的Amazon规范转换为正则表达式,这意味着“一个或多个字符不在允许的范围内”。

例如,Perl:

referer = ~s / [^ \ x {9} \ x {A} \ x {D} \ x} - \ x {D7FF} \ x {E000} - \ x {FFFD} \ x { 10000} - \ X {10FFFF}] + //克;