【Java基础篇】Unicode、进制转换

一、unicode

先说一下unicode是什么?

最开始美国人搞出了ASCII这个东西,什么意思呢?

首先一个字节,我们都知道是8个bit位,总共能表示256种状态,然后我们就把这256种状态每种状态都对应一个字符。这种对应关系就是ASCII。ASCII中一共定义了128个字符,例如:00110000,也就是48,对应字符'0'。

对于英语来说,128个字符来编码是完全足够的。但是汉字有那么多,256个完全不够用啊,于是定义Unicode编码,就是增加大量的字符,一个字符可能对应2个字节或者3个字节。

在Java中,一个字符对应两个字节,unicode编码范围为'\u0000'(0)~'\uffff'(65,535),除去\u,后面的四位都是16进制,也就是说后面四位都是占用4个bit位,总共16个bit位,刚好两个字节。

二、进制转换

2.1、十进制转其他进制

方法功能
Integer.toBinaryString(int i)将十进制转换成二进制
Integer.toOctalString(int i)将十进制转换成八进制
Integer.toHexString(int i)将十进制转换成十六进制
Integer.toString(int i, int radix)将十进制转换成指定的进制
		//10进制转8进制
		System.out.println(Integer.toOctalString(7));//7
		System.out.println(Integer.toOctalString(8));//10
		
		//10进制转16进制
		System.out.println(Integer.toHexString(15));//f
		System.out.println(Integer.toHexString(16));//10
		
		//10进制转其他进制
		System.out.println(Integer.toString(16, 17));//10进制转17进制,输出结果:g
		System.out.println(Integer.toString(17, 17));//10进制转17进制,输出结果:10

2.2、其他进制转十进制

Integer.parseInt(String s, int radix)

将指定进制的字符串转换成十进制

		System.out.println(Integer.parseInt("1111", 2));//二级制“1111”转换成十进制,输出15
		System.out.println(Integer.parseInt("7", 8));//8进制“7”转换成十进制,输出7
		System.out.println(Integer.parseInt("10", 8));//8进制“10”转换成十进制,输出8
		System.out.println(Integer.parseInt("f", 16));//16进制“f”转换成十进制,输出15
		System.out.println(Integer.parseInt("10", 16));//16进制“10”转换成十进制,输出16

2.3、8进制和十进制字面表示法

    	System.out.println(010);//0开头表示8进制,010表示8进制下的10,所以结果是8
    	System.out.println(0x1f);//0x开头表示16进制,0x10表示16进制下的1f,所以结果是31

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值