日期:2014-05-20  浏览次数:20680 次

字符转换问题
String   str= "ABCDEF ";
如何转换成一组数字如1,2,3
再转成字符串ABCDEF,
不知在JAVA中如何转?

------解决方案--------------------
先把字母转换成ascii 码,经过加减乘除处理,要用到的时候经过反处理,再把得到的ascii 码转换成字母。
转换方法如下:
{
char tmpChar = 'A ';
String asciiCode = Integer.toString(tmpChar);
System.out.println( "字符: "+tmpChar+ "的ASCII码: "+asciiCode);
}
------解决方案--------------------
public static void main(String[] args) {
  String str = "ABCDEFG ";
  int[] nums = string2Ints(str);
  for(int num : nums) {
    System.out.print(num + " ");
  }
  System.out.println();
  String s = ints2String(nums);
  System.out.println(s);
}

public static int[] string2Ints(String str) {
  char[] c = str.toCharArray();
  int[] nums = new int[c.length];
  for(int i = 0; i < c.length; i++) {
    nums[i] = c[i] - 'A ' + 1;
  }
  return nums;
}
public static String ints2String(int[] nums) {
  StringBuffer sb = new StringBuffer(nums.length);
  for(int i = 0; i < nums.length; i++) {
    sb.append((char)(nums[i] + 'A ' - 1));
  }
  return sb.toString();
}