随笔 - 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 小寻 阅读(1679) 评论(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
垃圾  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: