转码

byte [] gbkbyte =gbktoutf8(字符串);  
    String fullStr = new String(gbkbyte , "utf-8");

 

public byte[] gbk2utf8(String src)
 {  
    char c[] = src.toCharArray();  
          byte [] fullByte =new byte[3*c.length];  
          for(int i=0; i<c.length; i++){  
           int m = (int)c[i];  
           String word = Integer.toBinaryString(m);   
             
           StringBuffer sb = new StringBuffer();  
           int len = 16 - word.length();  
           for(int j=0; j<len; j++){  
            sb.append("0");  
           }  
           sb.append(word);  
           sb.insert(0, "1110");  
           sb.insert(8, "10");  
           sb.insert(16, "10");                
           String s1 = sb.substring(0,8);            
           String s2 = sb.substring(8,16);            
           String s3 = sb.substring(16);                
           byte b0 = Integer.valueOf(s1, 2).byteValue();  
           byte b1 = Integer.valueOf(s2, 2).byteValue();  
           byte b2 = Integer.valueOf(s3, 2).byteValue();  
           byte[] bf = new byte[3];  
           bf[0] = b0;  
           fullByte[i*3] = bf[0];  
           bf[1] = b1;  
           fullByte[i*3+1] = bf[1];  
           bf[2] = b2;  
           fullByte[i*3+2] = bf[2];  
             
          }  
          return fullByte;  
   }

iso-8859-1------>utf-16 7位码变16位码

 String gbk=code.iso2gbk(iso); 先转换iso到gbk
  byte [] gbkbyte =gbk2utf8(gbk);再又gbk转utf-8 函数上篇日志
  String fullStr = new String(gbkbyte , "utf-8");
  String str_utf16=new String(fullStr.getBytes("UTF_16"),"utf-16");

   utf-8在转换成utf-16
 

你可能感兴趣的:(职场,转码,休闲)