我有一个Web应用程序,可将消息发送到Amazon SQS队列。 Amazon sqs lib引发'AmazonSQSException'
 由于该消息包含无效的二进制字符。该消息是从传入的http请求获得的引荐来源网址。看起来是这样的:

> ^ Fô}úÃë)j

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

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是亚马逊邮件正文中允许的字符。我不确定我应该使用什么正则表达式来替换“”中的无效字符

最佳答案

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

例如,Perl:

引荐来源=〜s / [^ \ x {9} \ x {A} \ x {D} \ x {20}-\ x {D7FF} \ x {E000}-\ x {FFFD} \ x {10000}- \ x {10FFFF}] + // g;

08-05 08:18
查看更多