bit、byte、位、字节、汉字、字符之间的区别
package com.suypower.chengyu.test;
public class ByteTest {
?/**
? * byte 8 bits -128 - + 127
? * 1 bit = 1 二進制數據
? * 1 byte = 8 bit
? * 1 字母 = 1 byte = 8 bit(位)
? * 1 漢字 = 2 byte = 16 bit
? */
?public static void main(String[] args) {
??// TODO Auto-generated method stub
??byte b1 = 127;
??byte b2 = -128;
??byte b3 = 'a';
??byte b4 = 'A'; // 一個字母 = 1 byte = 8 bit
//??byte b5 ='aa';? 這就錯了
//??byte b6 ='中'; 這就錯了 一個漢字 2個字節 16bit
??short s1 = '啊'; // 一個漢字 2個字節 16bit short 是 16 bit位的
//??short s2 = '漢字';? // 2個漢字 4個字節 32 bit int 是32 bit的
//??int i1 = '漢字';? 但是 int 是數字類型的 , char 是 16 bit的 = 2 byte = 一個漢字
??char c1 = '汗';
//??byte 轉換 string
??String string = "中文";
??byte by[] = string.getBytes();
??String str = new String(by);
??System.out.println("str="+str);
?}
}
==================================================================================
[Java-原創] bit、byte、位、字節、漢字、字符
bit、byte、位、字節、漢字的關系
??????? 1 bit???? = 1? 二進制數據
??????? 1 byte? = 8? bit
??????? 1 字母 = 1? byte = 8 bit
??????? 1 漢字 = 2? byte = 16 bit
1. bit:位
??? 一個二進制數據0或1,是1bit;
2. byte:字節
??? 存儲空間的基本計量單位,如:MySQL中定義 VARCHAR(45)? 即是指 45個字節;
??? 1 byte = 8 bit
3. 一個英文字符占一個字節;
??? 1 字母 = 1 byte = 8 bit
4. 一個漢字占2個字節;
??? 1 漢字 = 2 byte = 16 bit
5. 標點符號
??? A>.? 漢字輸入狀態下,默認為全角輸入方式;
??? B>.? 英文輸入狀態下,默認為半角輸入方式;
??? C>.? 全角輸入方式下,標點符號占2字節;
??? D>.? 半角輸入方式下,標點符號占1字節;
??? 故:漢字輸入狀態下的字符,占2個字節 (但不排除,自己更改了默認設置);
??????????? 英文輸入狀態下的字符,占1個字節 (但不排除,自己更改了默認設置);
?
??????? 老美在發明電腦時,肯定以自己的英文字母--即他們自認為的字符為最小的存儲計量單位,于是也就有了不規范的1字符=1byte, 豈不知還有我們偉大的漢字計量單
??位,NND,一個漢字也是一個字符,我們的1漢字字符就等于2byte,后來,他們可能意識到這個尷尬的問題,于是又標榜為:一個字母為一個標準字符,去球吧,誰
??整天沒事說個字符還“標準字符”,所以啊,個人認為:字符,不能用于標準的計量單位。
?
從今天開始堅持一周發三篇文章總結
以上是生活随笔為你收集整理的bit、byte、位、字节、汉字、字符之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于STM中SPI运用的NSS引脚解读
- 下一篇: STM32的ADC笔记