JAVA  编写一个中英文和符号数字混合的字符串截取的方法,编码是UTF-8。

解决方案 »

  1.   

    UTF字长一到六个不等。
    即是一些非中文也有四个字节的。寻找编码表中文其实位置到结束位置。
      

  2.   


                 比如有这样的3个字符串
                          String str1 = "北京欢迎你";
                          String str2 = "welcome to Beijing";
                          String str3 = "(北京)welcome";                  编码用的是UTF-8
                     
                       给出一个指定的截取长度,比如说是给出长度是8
                        那么截取完的字符串分别为
                          String str1 = "北京欢迎";
                          String str2 = "welcome ";
                          String str3 = "(北京)we";
                        就是想要这样的结果。麻烦各位帮忙解决下。解决完追分
                          
      

  3.   

    public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
     String str3 = "(北京)we"; 
    byte[] a=str3.getBytes();
    byte[] b=new byte[8];
    for(int i=0;i<8;i++){

    b[i]=a[i];
    //System.out.println(String.valueOf(a[i]));
    }
    String result=new String(b);
    System.out.println(result); }}
      

  4.   

    这个程序不行哦,utf-8字符编码占的字节好像是1-3个把。 不知道你是在什么编码格式下进行的。不过还是谢谢。这个不西我想要的结果,我这里截取完了 只有“(北京)”
      

  5.   

    哪位告诉我byte数组里的东西如何判断 每个byte是中文还是英语或者数字或符号