字元、位元組、位等之間的轉換
前段時間寫加密RSA演算法,期間有個金鑰長度問題。金鑰長度決定可加密的欄位的長度,涉及到位元組字元和位之間的轉換。當時就有點迷糊,表情就是這樣的。

黑臉+懵
然後我決定總結一下,結果如下:
bit(位),也就是位元位,簡稱b,計算機資料的最小單位,資料儲存的最小單位。每個二進位制數字0或者1就是1個位;
Byte(位元組),簡稱B。
B與b不同,注意區分,KB是千位元組,Kb是千位元位。
1B=8b
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
字元(漢字和漢字標點符號都算字元)
ofollow,noindex"> ASCII碼 :一個英文字母(不分大小寫)佔一個位元組的空間,一箇中文 漢字 佔兩個位元組的空間。一個 二進位制數 字序列,在 計算機 中作為一個數字單元,一般為8位二進位制數,換算為 十進位制 。最小值-128,最大值127。如一個ASCII碼就是一個位元組。
UTF-8編碼:一個英文 字元 等於一個位元組,一箇中文(含繁體)等於三個位元組。中文標點佔三個位元組,英文標點佔一個位元組
Unicode編碼:一個英文等於兩個位元組,一箇中文(含繁體)等於 兩個 位元組。中文標點佔兩個位元組,英文標點佔兩個位元組
然後說一下rsa金鑰長度對應的加密欄位的長度。
計算公式是:金鑰長度位數轉化成位元組數減11(具體為啥減11不大清楚)
1024位金鑰可加密長度為117位元組
2048位金鑰可加密長度為245位元組
目前查到的只有這些,有錯誤的歡迎大家留言改正!!!

LcFireRabbit