<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    含有中文字符串的截取問題!(轉)

    問題:
         字符串:music<<美麗的草原我的家>>。該字符串的長度即str.length()為:17,而目前需要存入數據庫對應的字段長度為:16。所以必須對字符串進行截取。而前16個字節中,“原”字只有半個。這樣存入數據庫確對會出現“?”。所以必須判斷是否是半個漢字,即只能存入“music<<美麗的草”。
    分析:
         漢字是雙字節編碼,它為了能夠與英文字符分開,每個字節的最高位一定為1。如果是漢字,那么這個字節就是小于0的。這個函數就是通過這一原理實現的。所以要通過getBytes()轉化為byte型,再比較與零的大小。 getBytes()是把一個字符串轉成一個byte數組,因為計算機的數據都是基于字符的,也就是說一個字符串實際上就是一個字符流,因此可以轉為字符數組。
    程序:
       public  static  String  getStr(String  src,  int  len)  {  
           
    if  (src  ==  null)              return  null;  
           
    if  (src.getBytes().length  <=  len)    return  src;  
     
           
    byte[]  s  =  src.getBytes();  
           
    int  flag  =  0;  
           
    for(int  i=0;i<len;++i){  
             
    if(s[i]  <  0)  flag++;    
           }
      
           
    if(flag%2!=0)  len--;          
     
           
    byte[]  d  =  new  byte[len];  
           System.arraycopy(s,  
    0,  d,  0,  len);  
           
    return  new  String(d);  
       }
     

    posted on 2006-05-23 17:45 liaojiyong 閱讀(447) 評論(0)  編輯  收藏 所屬分類: Java

    主站蜘蛛池模板: 精品一区二区三区无码免费视频| 在线观看亚洲视频| 99精品视频在线免费观看 | 亚洲av一本岛在线播放| 97在线视频免费| 精品日韩亚洲AV无码 | 一级黄色片免费观看| 免费一级毛片在线播放| 免费国产黄网站在线看| 亚洲视频人成在线播放| 精品免费久久久久国产一区| 亚洲无线观看国产精品| 99热精品在线免费观看| 亚洲性无码av在线| 日本免费网站观看| 黄色三级三级免费看| 亚洲狠狠婷婷综合久久久久| 成人爽a毛片免费| 亚洲精品国产福利在线观看| 无码国产精品久久一区免费| 亚洲日韩AV一区二区三区四区| 在线观看免费国产视频| 水蜜桃视频在线观看免费| 亚洲精品无码久久久影院相关影片 | 国产自偷亚洲精品页65页| 成全高清在线观看免费| 亚洲国产精品综合久久久| 国产精品成人免费综合| 国产V片在线播放免费无码| 老司机亚洲精品影院| 欧美男同gv免费网站观看 | 亚洲电影国产一区| 成人毛片免费视频| 一级做a免费视频观看网站| 亚洲综合在线视频| 性做久久久久免费观看| 免费国产污网站在线观看| 中国china体内裑精亚洲日本| 亚洲精品国产福利一二区| 精品一区二区三区免费毛片爱| 亚洲国产AV无码一区二区三区|