国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

熱門文章> base64是什么 >

base64是什么

36氪企服點評小編
2022-01-13 11:10
1481次閱讀
| 企服解答
 
base64是處理二進制數據的一種編碼方式,可用于把二進制數據編碼成64個可打印的字符。64代表的就是6位二進制數據,通過把字符串轉化為二進制數據,然后按照每6位二進制數據來進行分割再把這6位二進制數據轉化為10進制數,找到對應的映射表就可生成base64編碼

base64是什么base64是什么

以字符串'A'為例,首先轉為16進制數據為41對應的二進制數據為01000001,每6位二進制數據分割為一組結果為010000 010000,6位二進制轉化為10進制的結果為16 16,base64映射對應的字符為”Q Q“,因為補了4個0所以字符串A對用的base64編碼就為”QQ==“ 。

| 擴展閱讀

1、base64的優點和局限

Base64編碼可用于在HTTP環境下傳遞較長的標識信息。例如,在Java Persistence系統Hibernate中,就采用了Base64來將一個較長的一個標識符(一般為128-bit的UUID)編碼為一個字符串,用作HTTP表單和HTTP GET URL中的參數。在其他應用程序中,也常常需要把二進制數據編碼為適合放在URL(包括隱藏表單域)中的形式。此時,采用Base64編碼不僅比較簡短,同時也具有不可讀性,即所編碼的數據不會被人用肉眼所直接看到。

然而,標準的Base64并不適合直接放在URL里傳輸,因為URL編碼器會把標準Base64中的“/”和“+”字符變為形如“%XX”的形式,而這些“%”號在存入數據庫時還需要再進行轉換,因為ANSI SQL中已將“%”號用作通配符。

為解決此問題,可采用一種用于URL的改進Base64編碼,它不僅在末尾去掉填充的'='號,并將標準Base64中的“+”和“/”分別改成了“-”和“_”,這樣就免去了在URL編解碼和數據庫存儲時所要作的轉換,避免了編碼信息長度在此過程中的增加,并統一了數據庫、表單等處對象標識符的格式。

2、 base64的具體實現步驟

字符串轉化為2進制數據;2進制數據按照每6位一組分割, 不足6位的補0;6位二進制數據轉化為十進制數;在對應的base64映射表中找到對應的映射字符,補0的每兩位用一個=號表示。

3、 64編碼表

碼值 字符 碼值 字符 碼值 字符 碼值 字符
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

 

[免責聲明]

文章標題: base64是什么

文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。

消息通知
咨詢入駐
商務合作