java字符与对应Ascii码互转

代码如下:

[java]  view plain  copy
  1. package main;  
  2.   
  3. /** 
  4.  * Java中将一个字符与对应Ascii码互转 
  5.  * 1 byte = 8bit 可以表示 0-127 
  6.  */  
  7. public class GetCharAscii {  
  8.   
  9.     /*0-9对应Ascii 48-57 
  10.      *A-Z 65-90 
  11.      *a-z 97-122 
  12.      *第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字 
  13.      */  
  14.     public static void main(String[] args) {  
  15.         // TODO Auto-generated method stub  
  16.   
  17.         System.out.println(charToByteAscii('9'));  
  18.         System.out.println(byteAsciiToChar(57));  
  19.         System.out.println(SumStrAscii("19"));  
  20.         System.out.println(SumStrAscii("一"));  
  21.     }  
  22.   
  23.     /** 
  24.      * 方法一:将char 强制转换为byte 
  25.      * @param ch 
  26.      * @return 
  27.      */  
  28.     public static byte charToByteAscii(char ch){  
  29.         byte byteAscii = (byte)ch;  
  30.           
  31.         return byteAscii;  
  32.     }  
  33.     /** 
  34.      * 方法二:将char直接转化为int,其值就是字符的ascii 
  35.      * @param ch 
  36.      * @return 
  37.      */  
  38.     public static byte charToByteAscii2(char ch){  
  39.         byte byteAscii = (byte)ch;  
  40.           
  41.         return byteAscii;  
  42.     }  
  43.     /** 
  44.      * 同理,ascii转换为char 直接int强制转换为char 
  45.      * @param ascii 
  46.      * @return 
  47.      */  
  48.     public static char byteAsciiToChar(int ascii){  
  49.         char ch = (char)ascii;  
  50.         return ch;  
  51.     }  
  52.     /** 
  53.      * 求出字符串的ASCII值和 
  54.      * 注意,如果有中文的话,会把一个汉字用两个byte来表示,其值是负数 
  55.      */  
  56.     public static int SumStrAscii(String str){  
  57.         byte[] bytestr = str.getBytes();  
  58.         int sum = 0;  
  59.         for(int i=0;i
  60.             sum += bytestr[i];  
  61.         }  
  62.         return sum;  
  63.     }  
  64. }  


结果:

57
9
106
-228

你可能感兴趣的:(算法,Java,java,算法)