本文向大家簡單介紹一下J2ME對html的unicode實體編碼的轉換的代碼,在開發J2ME浏覽器時,對於Html的unicode實體編碼,我們需要將轉換才能正常顯示。
J2ME對Html的unicode實體編碼的轉換
在開發J2ME浏覽器時,對於Html的unicode實體編碼,我們需要將轉換才能正常顯示。如下面這樣一段代碼:
- <ahrefahref="http://wap.monternet.com/">返回移動夢網</a><br/>
方法如下:
- privatestaticStringdecodeUnicode(finalStringdataStr){
- intstart=0;
- intend=0;
- finalStringBufferbuffer=newStringBuffer();
- while(start>-1){
- intsystem=10;//進制
- if(start==0){
- intt=dataStr.indexOf("&#");
- if(start!=t)start=t;
- }
- end=dataStr.indexOf(";",start+2);
- StringcharStr="";
- if(end!=-1){
- charStr=dataStr.substring(start+2,end);
- //判斷進制
- chars=charStr.charAt(0);
- if(s=='x'||s=='X'){
- system=16;
- charStrcharStr=charStr.substring(1);
- }
- }
- //轉換
- try{
- charletter=(char)Integer.parseInt(charStr,system);
- buffer.append(newCharacter(letter).toString());
- }catch(NumberFormatExceptione){
- e.printStackTrace();
- }
- //處理當前unicode字符到下一個unicode字符之間的非unicode字符
- start=dataStr.indexOf("&#",end);
- if(start-end>1){
- buffer.append(dataStr.substring(end+1,start));
- }
- //處理最後面的非unicode字符
- if(start==-1){
- intlength=dataStr.length();
- if(end+1!=length){
- buffer.append(dataStr.substring(end+1,length));
- }
- }
- }
- returnbuffer.toString();
- }