这个问题困绕了我好久了,从cdma modem上读取别人发过来的短信,是一些乱码信息,如:y飃丷[PYs   y飃丷[PYsN;    
   
e鏪禥wOS      N~?N唹鉦臦?   
    
徾圠N唹鉦臦礜ababge
       这些分别都是短信内容,CDMA不支持pud模式试了好多方法,进行解码,最后,试出来,  byte[] buffer = System.Text.Encoding.GetEncoding("gbk").GetBytes("读取到的信息" );  string strmsg = System.Text.Encoding.BigEndianUnicode.GetString(buffer);有部份可以解码,有些也解码正确 如果短信长了点,有十几个汉字,或是几十个汉字,按这样方法来解码,就有部份乱码.
在就要单纯意义上的从读取的信息上来解码,只是有可能是丢失了字符或编码(不是读取的时候丢失,则在存在短信猫里就丢失了),只是我还没研究出来,应该是按照一定规律可以补进去.还请哪个有经验的大哥指教,解决这个困绕我几个月的问题

解决方案 »

  1.   

    短信猫不是用的PDU码嘛?public   class   Test{ 
        public   static   void   main(String[]   agrs){ 
            String   s   =   "4F60597DFF01 "; 
            for(int   i=0,n=s.length();i <n;i+=4){ 
                char   c   =   (char)Integer.parseInt(s.substring(i,i+4),16); 
                System.out.print(c); 
            }         
        } 
    }
      

  2.   

    byte[] buffer = System.Text.Encoding.GetEncoding("gbk").GetBytes()应该就可以读不全应该是数据丢失了