【Java基础篇】Unicode、进制转换
生活随笔
收集整理的這篇文章主要介紹了
【Java基础篇】Unicode、进制转换
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、unicode
先說一下unicode是什么?
最開始美國人搞出了ASCII這個東西,什么意思呢?
首先一個字節(jié),我們都知道是8個bit位,總共能表示256種狀態(tài),然后我們就把這256種狀態(tài)每種狀態(tài)都對應(yīng)一個字符。這種對應(yīng)關(guān)系就是ASCII。ASCII中一共定義了128個字符,例如:00110000,也就是48,對應(yīng)字符'0'。
對于英語來說,128個字符來編碼是完全足夠的。但是漢字有那么多,256個完全不夠用啊,于是定義Unicode編碼,就是增加大量的字符,一個字符可能對應(yīng)2個字節(jié)或者3個字節(jié)。
在Java中,一個字符對應(yīng)兩個字節(jié),unicode編碼范圍為'\u0000'(0)~'\uffff'(65,535),除去\u,后面的四位都是16進制,也就是說后面四位都是占用4個bit位,總共16個bit位,剛好兩個字節(jié)。
二、進制轉(zhuǎn)換
2.1、十進制轉(zhuǎn)其他進制
| Integer.toBinaryString(int i) | 將十進制轉(zhuǎn)換成二進制 |
| Integer.toOctalString(int i) | 將十進制轉(zhuǎn)換成八進制 |
| Integer.toHexString(int i) | 將十進制轉(zhuǎn)換成十六進制 |
| Integer.toString(int i, int radix) | 將十進制轉(zhuǎn)換成指定的進制 |
2.2、其他進制轉(zhuǎn)十進制
Integer.parseInt(String s, int radix)
將指定進制的字符串轉(zhuǎn)換成十進制
System.out.println(Integer.parseInt("1111", 2));//二級制“1111”轉(zhuǎn)換成十進制,輸出15System.out.println(Integer.parseInt("7", 8));//8進制“7”轉(zhuǎn)換成十進制,輸出7System.out.println(Integer.parseInt("10", 8));//8進制“10”轉(zhuǎn)換成十進制,輸出8System.out.println(Integer.parseInt("f", 16));//16進制“f”轉(zhuǎn)換成十進制,輸出15System.out.println(Integer.parseInt("10", 16));//16進制“10”轉(zhuǎn)換成十進制,輸出162.3、8進制和十進制字面表示法
System.out.println(010);//0開頭表示8進制,010表示8進制下的10,所以結(jié)果是8System.out.println(0x1f);//0x開頭表示16進制,0x10表示16進制下的1f,所以結(jié)果是31?
總結(jié)
以上是生活随笔為你收集整理的【Java基础篇】Unicode、进制转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安普惠还清了还显示还款中
- 下一篇: 架构师基础必备:“腹有诗书气自华”,驰骋