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

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

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

    金陵之風(fēng)塵

    灰塵,也有生活;
    它們?cè)陲L(fēng)中飄著,在煙中戀愛(ài),在暖氣上撫摸;
    它們?cè)诤脦讉€(gè)地方找我……
    posts - 5, comments - 13, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    String.substring(0, n)函數(shù)返回該字符串前n個(gè)字符的新字符串,但如果只想返回前n個(gè)字節(jié),而字符串中又含有中文等雙字節(jié)字符怎么辦呢,我寫(xiě)了個(gè)函數(shù),不過(guò)只假定參數(shù)字符串中只含有單字節(jié)和雙字節(jié)字符,不包含4字節(jié)的Unicode32。

    例如:"我ABC是中國(guó)人DEF",截取5個(gè)字節(jié)應(yīng)返回"我ABC",截取6個(gè)字節(jié)應(yīng)返回"我ABC",截取7個(gè)字節(jié)應(yīng)返回"我ABC是"。

    函數(shù)中主要是使用String.getBytes()判斷一個(gè)字符包含單節(jié)還是雙字節(jié),因?yàn)橐啻蝿?chuàng)建String字符,速度比較慢,誰(shuí)有更好的方法也請(qǐng)給出建議。

    ?1?static?final?String?subStringbyBytes(final?String?str,?final?int?bytes)?{
    ?2?????int?bytesCounter?=?0;
    ?3?????String?resStr?=?null;
    ?4?
    ?5?????//?首字符為雙字節(jié),?而要求輸出一個(gè)字節(jié)
    ?6?????if(bytes?==?1)?{
    ?7???????String?aChar?=?str.substring(0,?1);
    ?8???????byte[]?bytesInChar?=?aChar.getBytes();
    ?9?
    10???????if(bytesInChar.length?==?2)
    11?????????return?"";
    12?????}
    13?
    14?????for(int?i?=?0;?i?<?str.length();?i++)?{
    15???????String?aChar?=?str.substring(i,?i?+?1);
    16???????byte[]?bytesInChar?=?aChar.getBytes();
    17?
    18???????if(bytesInChar.length?==?1)?{
    19?????????//?single?byte?character
    20?????????++bytesCounter;
    21?
    22?????????if(bytesCounter?==?bytes)?{
    23???????????resStr?=?str.substring(0,?i?+?1);
    24???????????break;
    25?????????}
    26???????}
    27???????else?if(bytesInChar.length?==?2){
    28?????????//?double?bytes?character
    29?????????bytesCounter?+=?2;
    30?
    31?????????if(bytesCounter?>?bytes)?{
    32???????????resStr?=?str.substring(0,?i);
    33???????????break;
    34?????????}
    35?
    36?????????if(bytesCounter?==?bytes)?{
    37???????????resStr?=?str.substring(0,?i?+?1);
    38???????????break;
    39?????????}
    40???????}
    41?????}
    42?
    43?????return?resStr;
    44???}

    評(píng)論

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2006-10-13 13:55 by 1
    現(xiàn)在去www.mylinux.com.cn網(wǎng)站趣味問(wèn)答,做題目,獎(jiǎng)積分.積分還能直接購(gòu)物呢.提供給你一個(gè)學(xué)習(xí)的機(jī)會(huì),對(duì)軟件編程人員有很大的幫助哦

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2006-10-13 21:12 by Web 2.0 技術(shù)資源
    效率太低了...........

    給個(gè)簡(jiǎn)單的處理方式吧~~~

    public static String getShorterString( String input , int bytes )
    {
    try
    {
    byte[] array = input.getBytes("GBK");
    if( bytes >= array.length ) return input;
    String result = new String(array , 0 , bytes ,"GBK");
    return result.length() > 0 ? result : new String(array , 0 , bytes - 1 ,"GBK");
    }
    catch (UnsupportedEncodingException e)
    {
    return input;
    }
    }

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2006-10-16 00:40 by yyuan
    是的,我也感覺(jué)我的代碼效率比較低,謝謝!

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2006-10-18 15:43 by 123bingbing
    增開(kāi)7群,號(hào)碼 30440732
    8群 30756649
    9群 30178567
    10群 28694497

    我們的qq群:15096318 學(xué)習(xí)程序的都可以來(lái)

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2008-06-20 09:33 by rakor
    @Web 2.0 技術(shù)資源
    兄弟,你寫(xiě)的是JAVA代碼吧~~~~~~~

    # re: 按字節(jié)截取含雙字節(jié)的字符串!  回復(fù)  更多評(píng)論   

    2008-06-20 09:35 by rakor
    不好意思,走錯(cuò)地方了,見(jiàn)諒

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日本乱码一区二区在线二产线 | 亚洲乳大丰满中文字幕| 97在线线免费观看视频在线观看| 国产日韩精品无码区免费专区国产| 亚洲乱人伦中文字幕无码| 亚洲三级电影网址| 在线亚洲人成电影网站色www| 国产一区视频在线免费观看| 亚洲精品动漫免费二区| 57pao国产成视频免费播放| 高清永久免费观看| 国产成人亚洲综合在线| 亚洲人成色777777精品| 亚洲综合无码一区二区三区| 亚洲成在人线av| 亚洲性猛交XXXX| 亚洲综合av永久无码精品一区二区| 国产在线播放免费| 成年女人免费视频播放77777| 亚洲免费电影网站| 99精品在线免费观看| 久久午夜免费鲁丝片| 暖暖免费在线中文日本| 国产精品成人69XXX免费视频| 特级毛片免费观看视频| 国产精品亚洲二区在线| 苍井空亚洲精品AA片在线播放 | 免费视频精品一区二区三区| 亚洲精品视频免费| 一级做a爱过程免费视频高清| 免费一区二区无码视频在线播放 | 亚洲AV无码专区日韩| 免费观看亚洲人成网站| 凹凸精品视频分类国产品免费| 免费少妇a级毛片人成网| www.亚洲色图.com| 免费人成视频在线观看视频| 男人的天堂亚洲一区二区三区 | 亚洲大成色www永久网址| 一区二区亚洲精品精华液| 亚洲综合无码一区二区痴汉|