实现字节码和ASCII码互相转换

实现字节码和ASCII码互相转换

package com.zr.demo01;

import java.util.Scanner;


/**
 * 实现字节码和ASCII码互相转换
 * @author ZR
 *
 */
public class Fourteenth {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true) {
			System.out.println("1.字节码->ASCII码");
			System.out.println("2.ASCII码->字节码");
			System.out.println("3.退出");
			System.out.println("请输入要执行的命令序号:");
			int num = sc.nextInt();
			switch (num) {
			case 1:
				System.out.println("请输入字节码:");
				byteToASCII(sc.nextInt());
				break;
			case 2:
				System.out.println("请输入ASCII码:");
				ascToByte(sc.next());
				break;
			case 3:
				System.out.println("已退出,欢迎下次使用.");
				System.exit(0);
				break;
			default:
				System.out.println("您输入的指令不正确,.");
				break;
			}
		}

	}
	
	/**
	 * 字节码->ASCII码
	 * @param bt
	 */
	private static void byteToASCII(int bt) {
		char[] chars = Character.toChars(bt);
		System.out.println("对应的ASCII码为:"+new String(chars));
		
	}

	/**
	 * ASCII码->字节码
	 * @param asc
	 */
	private static void ascToByte(String asc) {
		int codePointAt = Character.codePointAt(asc,0);
		System.out.println("对应的字节码为:"+codePointAt);
		
	}

	

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机基础知识-编码表 模块:计算机基础知识 主题:编码表 关键词:ASCII、Unicode、UTF-8 1、编码表 计算机发明之初,用来解决数字计算的问题,后来人们发现可以做更多的事,但由 于计算机只识" 数",因此人们必须告诉计算机哪个数字代表哪个特定的符号。于是除了0、1这些阿拉伯 数字,像a、b、c这样的52个字母(包括大小写),还有一些特殊的符号(例如*、#、@ 等)在计算机中存储时也要使用二进制数来表示,具体用哪些二进制数表示哪些符号, 理论上每个人都可以有自己一套规则(这就是编码)。如果想要沟通不造成混乱(乱码 ),就必须有统一的编码规则。 2、ASCII码 美国首先出台了ASCII编码(读音:/ˈæski/),规定了常用符号的二进制数对照表 。因为英文字母、数字再加上其他常用符号,大概100多个,因此用7个比特位(最多表 示128位)就够用了,所以一个字节中省下的那个比特位就默认为0。后来这套编码传到 欧洲,发现128位不够用,就把最后一个比特位也编进来。因此欧洲普遍使用一个全字节 (8个比特位)进行编码,最多表示256位,至此一个字节就用满了。 3、GB2312 计算机传入中国,同样的问题,10万多个汉字一个字节256位远远不够,于是中国科 学家自力更生,重写了一张编码表,就是GB2312,它用2个字节16个比特位(65536位) 表示常用汉字,后来,为了显示更多汉字,出台了GBK标准。不仅中国,其他国家也搞出 自己的一套编码标准,这样的话地球村村民无法沟通,为了沟通的便利,Unicode(万国 码)应运而生。 4、Unicode Unicode又称"万国码",这套编码将世界上所有的符号都纳入其中,现在Unicode可 以容纳100多万个符号,所有语言都可以互通,一个网页上可以显示多国语言。但是问题 又来了,自从英文用上了Unicode编码,为了迁就一些占用字节比较多的语言,英文也跟 着占用两个字节,比如存储A,原来00010001就可以了,现在偏得用两个字节:0000000 0 00010001才行,这样对计算机空间存储是种极大的浪费!基于这个痛点,科学家们又提 出了新的想法:可变长度字符编码,UTF-8来了! 5、UTF-8 UTF- 8是一种针对Unicode的可变长度字符编码,它可以使用1~4个字节表示一个符号,根据不 同的符号而变化字节长度。当字符在ASCII码的范围时,就用一个字节表示,所以UTF- 8还可以兼容ASCII编码。 "编码表 "使用范围 "特点 " "ASCII码 "英文大小写、符 "占用空间小 " " "号 " " "GB2312码、GBK码 "支持汉字 "GBK是GB2312的升级 " "Unicode "支持国际语言 "占用空间大,使用性强 " "UTF-8码 "支持国际语言 "是Unicode的升级,两者可相互化,占用空" " " "间小,包含ASCII码 " 6、扩展小知识 八进制和十六进制 因为二进制是由一堆0和1构成的,过长的数字对于人的阅读有很大障碍,为了解决 这一问题,也减少书写的复杂性,引入了八进制和十六进制。 为什么偏偏是16或8进制?2、8、16,分别是2的1次方、3次方、4次方。这一点使得 三种进制之间可以非常直接地互相转换。8进制是用0,1,2,3,4,5,6,7;16进制是 用0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f来表示。比如说,字母K在ASCII 编码表用不同进制表示的话是这样的:(你并不需要知道具体的转换规则) "二进制 "八进制 "十进制 "十六进制 "字母 " "01001011 "113 "75 "4B "K " ----------------------- 计算机基础知识-编码表全文共4页,当前为第1页。 计算机基础知识-编码表全文共4页,当前为第2页。 计算机基础知识-编码表全文共4页,当前为第3页。 计算机基础知识-编码表全文共4页,当前为第4页。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值