see java.lang.Strings.getBytes(int srcBegin, int srcEnd, byte dst[], int dstBegin);s="123";
s.getBytes(0,s.length,tt,0);
tt[0]=49=0x31;
tt[1]=50=0x32;
........其实也没什么,String主要是由一个char[],而char 和 int , byte, long什么的没多大区别,-2^x 从 2^x - 1,(x是该类型位数/2),只要是从位数长的(char)转向位数短的(byte),可直接用()的类型转换for(int i=0;i<s.length();i++){
  tt[i]=(byte)s.charAt(i);
}所谓16进制只是在显示的时候不同,在机器内部都是二进制,如果想显示0x...,可用"0x"+Integer(tt[i],16);不用给分!