当我们用相同的值在类中初始化字符串时,它会正确解码。当从 url 获取相同的字符串时,它无法解码。我们使用的是“UTF-8”。下面是执行它的代码。任何建议。
public static void main(String args[]){
SendSMS sendSMS = new SendSMS();
sendSMS.sendSMS("", "");
try{
String sms="#E0#A4#B8#E0#A5#81#E0#A4#B6#E0#A4#BF#E0#A4#B2#20";
sms=sms.replaceAll("#","%");
System.out.println( URLDecoder.decode(sms,"utf8"));
}catch(Exception e){e.printStackTrace();}
}
}
它工作正常。
System.out.println("actural sms ="+sms);
sms=sms.replaceAll("#","%");
System.out.println("compared"+sms.equals("%E0%A4%B6%E0%A4%B0%E0%A4%A6%20"));
log.info("sms before formating= ");
log.info(sms.trim());
System.out.println( URLDecoder.decode(sms,"utf8"));
in.close();*/
}catch(Exception e){
log.error("error occured while sending message:-"+e.getMessage());
e.printStackTrace();
}
在这里它不能正常工作。.equals() 的输出是真的..但是解码器给出了?????..