首页 > 代码库 > java笔记--ASCII编码认知和转换

java笔记--ASCII编码认知和转换

ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示英语字符
是当今最通用的单字节编码。包括128个字符。

ASCII编码和字符的转换

代码:

package com.xhj.data;

import java.util.Scanner;

/**
* ASCII编码转换
*
* @author XIEHEJUN
*
*/
public class ASCIIExchange {

/**
* ASCII编码转换成字符
*
* @param number
* @return
*/
public static String asciiToChar(int number) {
  char[] a = null;
  if (number >= 0 && number <= 128) {
    a = Character.toChars(number);
  } else {
    System.out.println("若是整数必须大于0,小于128");
    service();
  }
  return new String(a);
}

 

/**
* 字符转换成ASCII编码
*
* @param str
* @return
*/
public static String charToAscii(String str) {
  StringBuffer sb = new StringBuffer();
  int number;
  for (int i = 0; i < str.length(); i++) {
    number = Character.codePointAt(str, i);
    sb.append(number + " ");
  }
  return sb.toString();
}

/**
* 程序操作方法
*/
public static void service() {
  try {

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入字符串");
    String str = sc.nextLine();
    if (str.matches("\\d*")) {
      System.out.println("转换成字符为: "+ asciiToChar(Integer.parseInt(str)));
      service();
    } else if (str.matches("\\p{ASCII}*")) {
      System.out.println("转换成ASCII编码为: " + charToAscii(str));
    service();
    } else {
      System.out.println("输入数据不正确,请重新输入:");
      service();
    }
  } catch (Exception e) {
    System.out.println("输入错误,程序崩溃,抛出异常:" + e.getMessage());
    System.out.println("请输入有效字符");
    service();
  }
}

public static void main(String[] args) {
  try {
    service();
  } catch (Exception e) {
    System.out.println("输入错误,程序崩溃,抛出异常:" + e.getMessage());
    System.out.println("请输入有效字符");
    service();
  }
}

}