快速判斷字串是不是base64編碼

2021-10-04 16:45:44 字數 779 閱讀 5026

base64

是網路上最常見的用於傳輸8bit位元組**的編碼方式之一,它的目的是用ascii中定義的可見字元去表示任意的二進位制資料。之所以要這樣做,是因為計算機中很多資料是只能通過可見字元去傳輸的(比如我們的****,比如一些面向字元的網路協議如smtp等),但是這些情景有時又需要去傳輸二進位制資料。基於這樣的需要,誕生了base64.

簡單來講,base64就是用下列總計64個字元:

去表示二進位制資料。二進位制資料以位元組為組,乙個位元組8bit存在256個狀態,而乙個base64字元只有64個狀態。機智的人們於是規定,用每4個base64字元去表示3個二進位制位元組,因為:

64 * 64 * 64 * 64 = 256 * 256 * 256

因此,base64字串的長度必然是4的整數倍。此外,由於二進位制的位元組數不一定是3的整數倍,所以base64字串在結尾是可能有空的。這些空的狀態,base64引入第65個字元去表示:

=

這也是為什麼base64很多都是以=或==結尾的。但是注意,也存在不以=或==結尾的base64,只要編碼的二進位制位元組數恰好被3給整除。

總結:一般情況下,乙個合法的base64,有著以下特徵:

判斷字串是不是回文

回文描述 正著讀過去和倒著讀回來的字串序列相同則為回文,如 1h3gkg3h1是回文 author fubin public class huiwen 通過呼叫stringbuffer的物件的reverse 方法,來判斷翻轉前後字串是否相等,確定是否為回文 param s return public...

判斷字串是不是數字型別

前言 判斷字串屬於數字型別,並轉成數字 eg string str 123 int num 123 string str 123.123 int num 123 string str 123.123 double num 123.1231.寫函式一定要養成乙個好習慣,先判斷再處理 字串總類很多,首先...

C 中判斷字串是不是漢字

1 用ascii碼判斷 在 ascii碼表中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 是不是漢字,abc,柯樂義 for int i 0 i text.length i else 2 用漢字的 unicode 編碼範圍判斷 漢字的 unicode 編碼範圍是...