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

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

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

    隨筆 - 303  文章 - 883  trackbacks - 0
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    歡迎光臨! 
    閑聊 QQ:1074961813

    隨筆分類(357)

    我管理的群

    公共blog

    • n維空間
    • Email : java3d@126.com 群 : 12999758

    參與管理的論壇

    好友的blog

    我的其他blog

    朋友的網站

    搜索

    •  

    最新評論

    我們知一個byte是代表一個ASCII,中文又兩個ASCII組成,現在我們有一個byte[]里面存放著任意的字符串,我們截取我想截取的數;如果最后一個是半個中文,則去掉;
    代碼如下:

    測試代碼

    public class ByteTest {
        
    public static void main(String[] args) {
            MyByte mybyte 
    = new MyByte();
            mybyte.dochar(
    "你不a是a我aa誰?",3);
        }

    }

    處理代碼

    public class MyByte {

        
    public void dochar(String str, int count) {

            
    byte[] temp = str.getBytes();
            
    byte[] bArray = new byte[count * 2];

            
    int i;
            
    int ii = 0;// 用于判斷最后一個是不是一半漢字
            String strc = "full";

            
    for (i = 0; i < count; i++{
                bArray[i] 
    = temp[i];
            }

            
    for (i = 0; i < count; i++{
                
    if (bArray[i] < 0{
                    ii
    ++;
                }

            }

            
    if (ii % 2 != 0{
                strc 
    = "hard";
            }


            
    // 截下去為完全的時候
            if (strc.equals("full"&& bArray[i] < 0{
                bArray[i] 
    = ' ';
            }

            
    // 截下去為一半的時候
            if (strc.equals("hard"&& bArray[i - 1< 0{
                bArray[i 
    - 1= ' ';
            }

            System.out.println(
    new String(bArray).trim());
        }

    }



    地震讓大伙知道:居安思危,才是生存之道。
    posted on 2007-08-27 10:36 小尋 閱讀(1692) 評論(4)  編輯  收藏 所屬分類: j2se/j2ee/j2me

    FeedBack:
    # re: 在byte[]里截取中文 2007-08-28 13:26 幻想~@@~
    群里一個朋友寫處理類,更加簡單,值得學習 呵呵
    public void getChar(String str, int count) {    
                
    byte[] byteArray = new byte[count];
            
    byte[] temp = str.getBytes();
            
    int ii=0;
            
    for (int i = 0; i < count; i++{    
                byteArray[i]
    =temp[i];
                
                
    if(temp[i]<0){
                    ii
    ++;                
                }

            }

            
            
    if(ii%2==1){
                byteArray[count
    -1]=' ';
            }

            
            

            System.out.println(
    new String(byteArray).trim());

        }

      回復  更多評論
      
    # re: 在 byte[ ] 里截取中文 2008-11-22 18:24 sinfrancis
    有可能我是使用RandomAccessFile回頭讀取文件的呢
    可能出現第一個字節就是半個中文
    或者個第一個和最后一個都是半個漢字的情況 我該怎么判斷呢???
    謝謝 如有好的方法 告訴我一下 我的郵箱: kyowxf2003@163.com  回復  更多評論
      
    # re: 在 byte[ ] 里截取中文 2008-11-22 20:49 小尋

    在全是中文的情況下,你可以判斷該字符的前一個字符是不是空格。

      回復  更多評論
      
    # re: 在 byte[ ] 里截取中文[未登錄] 2012-02-29 14:18 test
    垃圾  回復  更多評論
      
    主站蜘蛛池模板: 亚洲另类无码专区首页| 亚洲小说区图片区| 国产亚洲精品精品精品| 免费无码AV电影在线观看| 亚洲的天堂av无码| 亚洲免费在线观看视频| 亚洲福利视频导航| 2021在线永久免费视频| 91亚洲性爱在线视频| av无码久久久久不卡免费网站| 亚洲精品日韩中文字幕久久久| 亚洲三级在线免费观看| 亚洲情A成黄在线观看动漫软件 | 亚洲AV成人噜噜无码网站| 18女人腿打开无遮掩免费| 亚洲免费中文字幕| 日本无吗免费一二区| 精品免费AV一区二区三区| 久久久久久亚洲精品不卡| 免费av一区二区三区| 亚洲第一页在线播放| 我要看WWW免费看插插视频| 在线视频亚洲一区| 亚洲精品中文字幕乱码三区| 麻豆精品成人免费国产片| 亚洲一区电影在线观看| 国产做床爱无遮挡免费视频| 国产精品永久免费| 337p日本欧洲亚洲大胆色噜噜| 成人性生交大片免费看无遮挡| 精品无码专区亚洲| 亚洲中文字幕久久精品无码喷水| 小草在线看片免费人成视久网| 色婷五月综激情亚洲综合| 亚洲精品国产福利一二区| 无码日韩精品一区二区三区免费 | 亚洲成a人片毛片在线| 国产无遮挡吃胸膜奶免费看| 成人性生交大片免费看中文| 亚洲人成电影在线观看网| 亚洲Av无码乱码在线播放|