0

クラス内の文字列を同じ値で初期化すると、適切にデコードされます.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() の出力は true..それでも、デコーダーは ????? を返します..

4

1 に答える 1

1

.equals()の出力はtrueです

いいえ、ちがいます。

それでもデコーダーは?????

私にとってそれはसुशिलを与えます

于 2011-08-01T13:45:17.060 に答える