base64编码是什么意思?

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。

Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。

Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。

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编解码和数据库存储时所要作的转换,避免了编码信息长度在此过程中的增加,并统一了数据库、表单等处对象标识符的格式。

另有一种用于正则表达式的改进Base64变种,它将“+”和“/”改成了“!”和“-”,因为“+”,“/”以及前面在IRCu中用到的“[”和“]”在正则表达式中都可能具有特殊含义。

此外还有一些变种,它们将“+/”改为“_-”或“._”(用作编程语言中的标识符名称)或“.-”(用于XML中的Nmtoken)甚至“_:”(用于XML中的Name)。



  • 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缂瑙g爜涓巋ash鍔犲瘑
    绛旓細鍒╃敤base64鍙互灏嗕簩杩涘埗鏁版嵁缂栫爜涓64涓瓧绗︾粍鎴愮殑瀛楃涓诧紝64涓瓧绗︿负a-z锛孉-Z锛0-9锛+锛/銆base64缂栫爜鏄灏嗕笁涓瓧鑺傜殑浜岃繘鍒舵暟鎹紪鐮佷负鍥涗釜瀛楄妭鐨勫瓧绗︽暟鎹紝濡傛灉瀛楄妭鏁颁笉涓3鐨勫嶆暟base64浼氬皢 \x00 琛ュ湪鏈熬锛屾墍浠ヤ細甯稿湪base64瀛楃涓茬殑鏈熬瑙佸埌涓涓垨鑰呬袱涓殑 = 鍙枫俠ase64缂栫爜 base64瑙g爜 灏...
  • Base64绠楁硶鍘熺悊鍙婂疄鐜
    绛旓細2.Url Base64缂栫爜 JDK鏍囧噯绫诲簱涓殑Url Base64缂栫爜鏄鐢"-"鍜"_"鍙栦唬浜"+"鍜"/"3.MIME Base64缂栫爜 Java绫诲簱涓繕鎻愪緵浜嗕竴绉嶆牸寮忔洿鍙嬪ソ鐨凚ase64缂栫爜锛岃繖绉嶇紪鐮佽緭鍑烘瘡琛屼笉瓒呰繃76瀛楃锛屽苟涓斾娇鐢'\r'骞惰窡闅'\n'浣滀负鍒嗗壊銆4.鍘婚櫎濉厖绗︾殑Base64 鍦↗ava鏍囧噯绫诲簱涓紝杩樻彁渚涗簡涓绉嶆柟寮忔潵鍘婚櫎...
  • base64:浜岃繘鍒垛斺>瀛楃涓
    绛旓細濡傛灉瑕佺紪鐮佺殑浜岃繘鍒舵暟鎹笉鏄3鐨勫嶆暟锛屾渶鍚庝細鍓╀笅1涓垨2涓瓧鑺傛庝箞鍔烇紵Base64鐢╘x00瀛楄妭鍦ㄦ湯灏捐ˉ瓒冲悗锛屽啀鍦ㄧ紪鐮佺殑鏈熬鍔犱笂1涓垨2涓=鍙凤紝琛ㄧず琛ヤ簡澶氬皯瀛楄妭銆侭ase64鏄妸3涓瓧鑺傚彉涓4涓瓧鑺傦紝鎵浠ワ紝Base64缂栫爜鐨勯暱搴︽案杩滄槸4鐨勫嶆暟锛屽洜姝わ紝闇瑕佸姞涓=鎶夿ase64瀛楃涓茬殑闀垮害鍙樹负4鐨勫嶆暟锛屽氨鍙互姝e父瑙g爜...
  • utf-8鍜base64浠涔鍖哄埆鍟?
    绛旓細姣斿璇翠腑鏂囧彲浠ョ敤utf-8缂栫爜锛屼絾鏄笉鑳界敤iso88591杩欑缂栫爜锛屽洜涓篿so88591璁捐鐨勬椂鍊欏氨娌℃湁鑰冭檻杩囦腑鏂囨眽瀛楅偅涔堝锛屽洜姝ゅ彧鑳芥樉绀哄瓧姣嶆暟瀛楀拰涓浜涚鍙凤紝鑰寀tf8杩欑鍙橀暱缂栫爜鍙互瀹圭撼闈炲父澶氱殑瀛楃锛屽彲浠ョ敤鏉ヨ〃绀鸿冻澶熷鐨勬眽瀛椼傛墍浠ヤ竴涓猽tf8缂栫爜鐨勬枃鏈敤鍙敮鎸乮so88591鐨勭紪杈戝櫒鎵撳紑灏变細涔辩爜銆傝寀rl缂栫爜鍜base64缂栫爜...
  • base64 鍜 urlencode鐨勫尯鍒
    绛旓細base64 鍜 urlencode鐨勫尯鍒 base64 1銆佸寘鍚獳-Z a-z 0-9 鍜屽姞鍙封+鈥濓紝鏂滄潬鈥/鈥 鐢ㄦ潵浣滀负寮濮嬬殑64涓暟瀛. 绛夊彿鈥=鈥濈敤鏉ヤ綔涓哄悗缂鐢ㄩ斻2銆2杩涘埗鐨.3銆佽姣旀簮鏁版嵁澶33%銆4銆佸父鐢ㄤ簬閭欢銆倁rlencode 闄や簡 -_. 涔嬪鐨勬墍鏈夐潪瀛楁瘝鏁板瓧瀛楃閮藉皢琚浛鎹㈡垚鐧惧垎鍙凤紙%锛夊悗璺熶袱浣嶅崄鍏繘鍒舵暟锛岀┖鏍煎垯缂栫爜...
  • |base64-d涓殑d鍟ユ剰鎬
    绛旓細Base64鏄綉缁滀笂鏈甯歌鐨勭敤浜庝紶杈8Bit瀛楄妭鐮佺殑缂栫爜鏂瑰紡涔嬩竴锛孊ase64灏辨槸涓绉嶅熀浜64涓彲鎵撳嵃瀛楃鏉ヨ〃绀轰簩杩涘埗鏁版嵁鐨勬柟娉曘傚彲鏌ョ湅RFC2045锝濺FC2049锛屼笂闈㈡湁MIME鐨勮缁嗚鑼冦Base64缂栫爜鏄浠庝簩杩涘埗鍒板瓧绗︾殑杩囩▼锛屽彲鐢ㄤ簬鍦℉TTP鐜涓嬩紶閫掕緝闀跨殑鏍囪瘑淇℃伅銆傞噰鐢˙ase64缂栫爜鍏锋湁涓嶅彲璇绘э紝闇瑕佽В鐮佸悗鎵嶈兘闃呰銆
  • MIME涓嶴MTP鐨勫叧绯绘槸鎬庢牱鐨?浠涔鏄痲uoted-printable缂栫爜鍜base64缂栫爜
    绛旓細MIME SMTP 7 浣 ASCII 鐮 7 浣 ASCII 鐮 闈 ASCII 鐮 鐢ㄦ埛 鐢ㄦ埛 quoted-printable缂栫爜锛氬浜庢墍鏈夊彲鎵撳嵃鐨凙SCII鐮侊紝闄ょ壒娈婂瓧绗︾瓑鍙峰锛岄兘涓嶆敼鍙樸傜瓑鍙峰拰涓嶅彲鎵撳嵃鐨凙SCII鐮佷互鍙婇潪ASCII鐮佺殑鏁版嵁鐨勭紪鐮佹柟娉曟槸锛氬厛灏嗘瘡涓瓧鑺傜殑浜岃繘鍒朵唬鐮佺敤涓や釜鍗佸叚杩涘埗鏁板瓧琛ㄧず锛岀劧鍚庡湪鍓嶉潰鍐嶅姞涓婁竴涓瓑鍙枫base64缂栫爜鏄...
  • base64鍔犲瘑鐨勭粨鏋滆繕鏄瓧绗︿覆鍚
    绛旓細base64鍔犲瘑鐨勭粨鏋滆繕鏄瓧绗︿覆鍚 棣栧厛锛孊ase64绠椾笉涓婃槸涓绉嶅姞瀵嗙畻娉曘Base64鏄缃戠粶涓婃渶甯歌鐨勭敤浜庝紶杈8Bit瀛楄妭浠g爜鐨缂栫爜鏂瑰紡涔嬩竴锛屽畠鐨勭洰鐨勬槸鐢ˋSCII涓畾涔夌殑鍙瀛楃鍘昏〃绀轰换鎰忕殑浜岃繘鍒舵暟鎹備箣鎵浠ヨ杩欐牱鍋氾紝鏄洜涓鸿绠楁満涓緢澶氭暟鎹槸鍙兘閫氳繃鍙瀛楃鍘讳紶杈撶殑锛堟瘮濡傛垜浠殑缃戠珯缃戝潃锛屾瘮濡備竴浜涢潰鍚戝瓧绗︾殑缃戠粶...
  • base64缂栫爜浠ュ強url safe base64鏄庝箞宸ヤ綔鐨
    绛旓細鍦ㄧ數瀛愰偖浠朵紶杈撲俊鎭椂,鏈変簺閭欢缃戝叧浼氭妸[0,31]杩欎簺鎺у埗瀛楃缁欐倓鎮勬竻闄.杩樻湁鐨勬棭鏈熺▼搴,鏀跺埌[128,255]涔嬮棿鐨勫浗闄呭瓧绗︽椂,鐢氳嚦浼氬彂鐢熼敊璇.濡備綍鍦ㄤ笉鍚岄偖浠剁綉鍏充箣闂村畨鍏ㄧ殑浼犺緭鎺у埗瀛楃,鍥介檯瀛楃,鐢氳嚦浜岃繘鍒舵枃浠?浜庢槸浣滀负MIME澶氬獟浣撶數瀛愰偖浠舵爣鍑嗙殑涓閮ㄥ垎鈥攂ase64琚紑鍙戝嚭鏉.1.a 浠涔鏄痷rl_safe base64缂栫爜锛...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网