代码如下:
- package main;
- /**
- * Java中将一个字符与对应Ascii码互转
- * 1 byte = 8bit 可以表示 0-127
- */
- public class GetCharAscii {
- /*0-9对应Ascii 48-57
- *A-Z 65-90
- *a-z 97-122
- *第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- System.out.println(charToByteAscii('9'));
- System.out.println(byteAsciiToChar(57));
- System.out.println(SumStrAscii("19"));
- System.out.println(SumStrAscii("一"));
- }
- /**
- * 方法一:将char 强制转换为byte
- * @param ch
- * @return
- */
- public static byte charToByteAscii(char ch){
- byte byteAscii = (byte)ch;
- return byteAscii;
- }
- /**
- * 方法二:将char直接转化为int,其值就是字符的ascii
- * @param ch
- * @return
- */
- public static byte charToByteAscii2(char ch){
- byte byteAscii = (byte)ch;
- return byteAscii;
- }
- /**
- * 同理,ascii转换为char 直接int强制转换为char
- * @param ascii
- * @return
- */
- public static char byteAsciiToChar(int ascii){
- char ch = (char)ascii;
- return ch;
- }
- /**
- * 求出字符串的ASCII值和
- * 注意,如果有中文的话,会把一个汉字用两个byte来表示,其值是负数
- */
- public static int SumStrAscii(String str){
- byte[] bytestr = str.getBytes();
- int sum = 0;
- for(int i=0;i<bytestr.length;i++){
- sum += bytestr[i];
- }
- return sum;
- }
- }
57
9
106
-228