2012年6月5日 星期二

unicode to string..\\u

本來看到unicode(\u)字也沒啥好怕的~ 不過突然發現有人做了一件奇怪的事情~ 為了讓網頁json上可以看到unicode的原型..他就把他寫成了\\u的碗糕|||Orz..

想說怎麼讀他的資料一直都是出\uxxxx真是超頭痛的..只好手動做了String parse..
                //str is origin string (\\uXXXX\\uXXXX)
                String str = (String)mpRow.get(converts[a]);
                if(str != null && str.trim().length() > 0 )  {
                    String un = str.trim();
                    StringBuffer sb = new StringBuffer();
                    int idx = un.indexOf("\\u");
                    while(idx >=0 )  {
                        if(idx > 0)  {
                            sb.append(un.substring(0, idx));
                        }
                       
                        String hex = un.substring(idx+2, idx+2+4);                       
                        sb.append( (char)Integer.parseInt(hex, 16) );
                        un = un.substring(idx+2+4);
                        idx = un.indexOf("\\u");
                    }
                    sb.append(un);
                 
                    //convert result of the str
                    String uf8=sb.toString();
                }

沒有留言: