base64编码是什么意思啊?

分类: 电脑/网络 >> 互联网
问题描述:

是不是邮件如果不是base64编码就发不了

那我以WEB方式写的邮件是base64编码吗?

如果不是那么为什么可以正常发送呢?

解析:

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在发送电子邮件时,服务器认证的用户名和密码需要用Base64编码,附件也需要用Base64编码。

下面简单介绍Base64算法的原理,由于代码太长就不在此贴出

Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。

转换后,我们用一个码表来得到我们想要的字符串(也就是最终的Base64编码),这个表是这样的:

0 A 17 R 34 i 51 z

1 B 18 S 35 j 52 0

2 C 19 T 36 k 53 1

3 D 20 U 37 l 54 2

4 E 21 V 38 m 55 3

5 F 22 W 39 n 56 4

6 G 23 X 40 o 57 5

7 H 24 Y 41 p 58 6

8 I 25 Z 42 q 59 7

9 J 26 a 43 r 60 8

10 K 27 b 44 s 61 9

11 L 28 c 45 t 62 +

12 M 29 d 46 u 63 /

13 N 30 e 47 v

14 O 31 f 48 w (pad) =

15 P 32 g 49 x

16 Q 33 h 50 y

原文的字节最后不够3个的地方用0来补足,转换时Base64编码用=号来代替。这就是为什么有些Base64编码会以一个或两个等号结束的原因,但等号最多只有两个。

举一个例子,abc经过Base64编码以后的结果是YWJj.

发邮件的时候所写的信息自动在后台转换然后传输...

  • (浜)base64缂栫爜鐨勫墠涓栦粖鐢
    绛旓細BASE64灏辨槸涓绉嶅熀浜64涓彲鎵撳嵃瀛楃鏉ヨ〃绀轰簩杩涘埗鏁版嵁鐨勬柟娉銆傛崲鍙ヨ瘽璇达紝灏辨槸灏嗕簩杩涘埗鏁扮紪鐮佹垚涓64涓彲鎵撳嵃瀛楃锛堢鍚圓SCII缂栫爜瑙勫垯锛夈2.   涓轰粈涔堜細鍑虹幇BASE64 缂栫爜 鏈鏃╃殑閭欢绯荤粺鍙鐞咥SCII缂栫爜锛孉SCII鐮佷负7浣嶆湁鏁堢爜锛屼竴鍏卞寘鎷傚洜姝ゆ棫鐨勯偖浠剁郴缁熷氨浼氫互涓烘敹鍒扮殑8浣嶅瓧鑺傜爜閮芥槸浠SCII...
  • 鍔犲瘑鍚庣殑瀛楃涓叉渶鍚庢湁涓や釜鈥==鈥鏄粈涔鍔犲瘑绠楁硶?
    绛旓細Base64鏄綉缁滀笂鏈甯歌鐨勭敤浜庝紶杈8Bit瀛楄妭鐮佺殑缂栫爜鏂瑰紡涔嬩竴锛孊ase64灏辨槸涓绉鍩轰簬64涓彲鎵撳嵃瀛楃鏉ヨ〃绀轰簩杩涘埗鏁版嵁鐨勬柟娉銆1锛孊ase64 浣跨敤US-ASCII瀛愰泦鐨64涓瓧绗,鍗冲ぇ灏忓啓鐨26涓嫳鏂囧瓧姣嶏紝0锛9锛岋紜锛/銆2锛岀紪鐮佹绘槸鍩轰簬3涓瓧绗︼紝姣忎釜瀛楃鐢8浣嶄簩杩涘埗琛ㄧず锛屽洜姝や竴鍏24浣嶏紝鍐嶅垎涓4鍥涚粍锛屾瘡缁6浣嶏紝琛...
  • base64缂栫爜鏄粈涔?
    绛旓細Base64鏄綉缁滀笂鏈甯歌鐨勭敤浜庝紶杈8Bit瀛楄妭鐮佺殑缂栫爜鏂瑰紡涔嬩竴锛孊ase64灏辨槸涓绉鍩轰簬64涓彲鎵撳嵃瀛楃鏉ヨ〃绀轰簩杩涘埗鏁版嵁鐨勬柟娉銆傚彲鏌ョ湅RFC2045锝濺FC2049锛屼笂闈㈡湁MIME鐨勮缁嗚鑼冦侭ase64缂栫爜鏄粠浜岃繘鍒跺埌瀛楃鐨勮繃绋嬶紝鍙敤浜庡湪HTTP鐜涓嬩紶閫掕緝闀跨殑鏍囪瘑淇℃伅銆傞噰鐢˙ase64缂栫爜鍏锋湁涓嶅彲璇绘э紝闇瑕佽В鐮佸悗鎵嶈兘闃呰銆侭ase64...
  • Base64浠嬬粛
    绛旓細Base64鏄竴绉嶅熀浜64涓彲鎵撳嵃瀛楃鏉ヨ〃绀轰簩杩涘埗鏁版嵁鐨勮〃绀烘柟娉銆傜敱浜2鐨6娆℃柟绛変簬64锛屾墍浠ユ瘡6涓瘮鐗逛负涓涓崟鍏冿紝瀵瑰簲鏌愪釜鍙墦鍗板瓧绗︺備笁涓瓧鑺傛湁24涓瘮鐗癸紝瀵瑰簲浜4涓狟ase64鍗曞厓锛屽嵆3涓瓧鑺傚彲琛ㄧず4涓彲鎵撳嵃瀛楃銆傚湪Base64涓殑鍙墦鍗板瓧绗﹀寘鎷瓧姣岮-Z銆乤-z銆佹暟瀛0-9锛岃繖鏍峰叡鏈62涓瓧绗︼紝浠ュ強鍔犲彿鈥+...
  • Base64 缂栫爜鐭ヨ瘑,涓鏂囨墦灏!
    绛旓細Base64 鏄綉缁滀腑瀛樺偍鍜屼紶杈撶殑浜岃繘鍒舵暟鎹殑鏅亶鐢ㄦ硶銆侭ase64 涓涓瓧鑺傚彧鑳借〃绀 64 绉嶆儏鍐碉紝涓旂紪鐮佹牸寮忔瘡涓瓧鑺傜殑鍓嶄袱浣嶉兘鍙兘鏄 0锛屼娇鐢ㄥ墿涓嬬殑 6 浣嶈〃绀哄唴瀹广傜湅鍒拌繖閲岀浉淇″ぇ瀹朵篃鑳藉鎰忚瘑鍒帮紝杩欑缂栫爜鏍煎紡鏃犳硶鍏呭垎鍒╃敤瀛樺偍璧勬簮锛屾晥鑳借緝浣庛傞偅涓轰粈涔堣繕浼氭垚涓虹綉缁滀腑鐨勬櫘閬嶇敤娉曞憿锛熷叾瀹 Base64 鏈鏃╂槸搴旂敤鍦...
  • 瀵嗙爜瀛﹀熀纭:Base64缂栫爜
    绛旓細鍦ㄥ瘑鐮佸鐨勪笘鐣岄噷锛Base64缂栫爜鏄涓绉嶄笉鍙垨缂虹殑宸ュ叿锛屽畠浠ラ潪鍔犲瘑褰㈠紡灏嗕簩杩涘埗鏁版嵁杞寲涓哄彲鎵撳嵃鐨凙SCII瀛楃搴忓垪锛屽父鐢ㄤ簬鏁版嵁瀹夊叏浼犺緭銆傛湰鏂囧皢閫氳繃C璇█鐨勮瑙掞紝娣卞叆璁茶ВBase64缂栫爜鐨勫師鐞嗐佹搷浣滄祦绋嬩互鍙婂叾瀹炵幇缁嗚妭銆傜紪鐮佸師鐞嗕笌姝ラ Base64缂栫爜鐨勬牳蹇冨湪浜庡皢姣3涓瓧鑺傜殑鏁版嵁鎷嗗垎鎴4涓6Bit鐨勫皬鍒嗙粍锛岀劧鍚庣敤鍖呭惈...
  • base64鏄粈涔
    绛旓細Base64鏄竴绉嶇紪鐮佹柟寮忋Base64缂栫爜鏄涓绉嶅皢浠绘剰浜岃繘鍒舵暟鎹浆鍖栦负ASCII瀛楃涓茬殑缂栫爜鏂瑰紡銆傚畠涓昏鐢ㄤ簬鍦ㄦ枃鏈牸寮忎腑瀛樺偍鍜屼紶杈撲簩杩涘埗鏁版嵁锛屽洜涓鸿繖浜涙暟鎹彲鑳藉寘鍚竴浜涗笉鑳界洿鎺ュ彂閫佺殑瀛楃銆侭ase64缂栫爜鐨勪娇鐢ㄩ潪甯稿箍娉涳紝渚嬪鍦ㄧ數瀛愰偖浠堕檮浠躲佺綉椤典腑鐨勫浘鐗囧祵鍏ヤ互鍙奌TTP鍗忚涓嬬殑鏁版嵁浼犺緭绛夊満鏅腑閮借兘鐪嬪埌瀹冪殑韬奖銆備互涓...
  • base64缂栫爜涓浠涔浣嶆暟鐩哥瓑
    绛旓細浠涔堟槸Base64锛鎸夌収RFC2045鐨勫畾涔夛紝Base64琚畾涔変负锛欱ase64鍐呭浼犻缂栫爜琚璁$敤鏉ユ妸浠绘剰搴忓垪鐨8浣嶅瓧鑺傛弿杩颁负涓绉嶄笉鏄撹浜虹洿鎺ヨ瘑鍒殑褰㈠紡銆傦紙The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.锛変负浠涔堣浣跨敤...
  • Base64绠楁硶鍘熺悊鍙婂疄鐜
    绛旓細Base64缂栫爜鐨勬濊矾璇寸櫧浜嗭紝灏辨槸鎶婁紶杈撴暟鎹殑姣忎釜瀛楄妭鏄犲皠鎴怉SCII鐮佽〃涓殑鏌愪簺瀛楃锛岃繖鏍峰湪浼犺緭鐨勮繃绋嬩腑锛屽氨涓嶄細鍑虹幇涔辩爜鐨勯棶棰樹簡銆侭ase64绠楁硶瀹氫箟浜嗕竴涓槧灏勮〃锛屽涓嬫墍绀恒傜敱涓婅〃鍙互鐪嬪嚭锛屼箣鎵浠ョО涓築ase64缂栫爜锛屽疄闄呬笂鏄妸鍘熸暟鎹槧灏勬垚浜咥SCII鐮佽〃涓殑64涓瓧绗︺備絾鏄紝64涓瓧绗︽渶澶氳兘鏄犲皠鐨勪綅鏁版槸6bit...
  • 浠涔堟槸Base64绠楁硶
    绛旓細锛2锛塨ase64鏄妸3涓瓧鑺傚彉鎴4涓彲鎵撳嵃瀛楃锛屾墍浠base64缂栫爜鍚庣殑瀛楃涓蹭竴瀹氳兘琚4鏁撮櫎锛堜笉绠楃敤浣滃悗缂鐨勭瓑鍙凤級锛涳紙3锛夌瓑鍙蜂竴瀹氱敤浣滃悗缂锛屼笖鏁扮洰涓瀹氭槸0涓1涓垨2涓傝繖鏄洜涓哄鏋滃師鏂囬暱搴︿笉鑳借3鏁撮櫎锛宐ase64瑕佸湪鍚庨潰娣诲姞\0鍑戦綈3n浣嶃備负浜嗘纭繕鍘燂紝娣诲姞浜嗗嚑涓猏0灏卞姞涓婂嚑涓瓑鍙枫傛樉鐒舵坊鍔犵瓑鍙风殑...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网