2013-02-15 80 views
0

我正在使用Javascript和Rhino(執行一些Java代碼)。我想執行下面的代碼。如何避免異常「字符串中的無效十六進制字符」

service.push(deviceToken,payload); 

由於第一個字符串包含'x',它會給出以下例外。

com.sun.phobos.script.util.ExtendedScriptException:org.mozilla.javascript.WrappedException:裹了java.lang.RuntimeException:無效的十六進制字符:X

該字符串必須是有,因爲它是。因此沒有替換是可能的。

我正在使用Java-apns,並使用此方法來推送設備令牌和有效負載的通知。

+0

目前的情況是你的問題太局部...還請考慮你的標題「消除字符串中的字符」以及正文中的要求「字符串必須在那裏」,這使得你的問題非常混亂。 – 2013-02-15 04:44:51

+0

該字符串包含不能被程序更改的字符(如密碼)。當我谷歌這個錯誤,我得到了一個答案,如用「」或任何其他字符替換這些十六進制字符。但在這種情況下,這是不可能的。我期待着避免在字符串中檢查這些十六進制字符的方法。 – Chanikag 2013-02-15 05:04:12

+0

完整的堆棧跟蹤會告訴你RuntimeException的起源類,我懷疑它是一個Rhino類。這裏沒有足夠的信息來回答這個問題。 – McDowell 2013-02-15 13:20:50

回答

0

您的設備令牌應該只包含十六進制字符0-9,A,B,C,d,E,F(或可替代A-F)