网址URL中特殊字符转义编码 - 名本网络 - 爱扫码·i3m.cn:3hhh.cn/2626 -扫一扫.cn·二维码.cn 333e.cn/2626 搜一搜.cn/2626


二维码
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 原创写手
  • 忠实会员
阅读:417回复:1

无障碍·translate·翻訳·二维码.cn/i3h.cn/2626
·搜一搜.cn/网址URL中特殊字符转义编码

楼主#
更多 发布于:2017-02-23 19:56
搜索框输入 转义编码 直接可得 特殊字符

网址URL中特殊字符转义编码
字符 - URL编码值
空格 - %20
" - %22
# - %23
% - %25
& - %26
( - %28
) - %29
+ - %2B
, - %2C
/ - %2F
: - %3A
; - %3B
< - %3C
= - %3D
> - %3E
? - %3F
@ - %40
\ - %5C
| - %7C

URL特殊字符转义
URL中一些字符的特殊含义,基本编码规则如下:
1、空格换成加号(+)
2、正斜杠(/)分隔目录和子目录
3、问号(?)分隔URL和查询
4、百分号(%)制定特殊字符
5、#号指定书签
6、&号分隔参数

如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值
+ %2B
/ %2F
? %3F
% %25
# %23
& %26

由于在项目中经常要用AJAX传SQL给后台服务端

会遇到select num+1 from dual或者左右连接形式。总会丢掉(+)

这个时候可以尝试用一下URL特殊字符转义

用JS的encodeURI()函数或者直接改成相对应的十六进制的值

看网上介绍encodeURI函数也是讲URI转义

http://blog.csdn.net/u012230055/article/details/42875253


Base64加密解密


工具简介



Base64编码要求把3个8位字节(3*8=24)转化为4个6位的字节(4*6=24),之后在6位的前面补两个0,形成8位一个字节的形式。 如果剩下的字符不足3个字节,则用0填充,输出字符使用‘=’,因此编码后输出的文本末尾可能会出现1或2个‘=’。
为了保证所输出的编码位可读字符,Base64制定了一个编码表,以便进行统一转换。编码表的大小为2^6=64,这也是Base64名称的由来。
Base64编码表

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

http://tool.chinaz.com/tools/base64.aspx
  • 喜欢0 评分0
    
    二维码
    管理员
    管理员
    • 社区居民
    • 最爱沙发
    • 原创写手
    • 忠实会员
    沙发#
    发布于:2017-02-23 20:14
     PHP 完全中文手册

      函数:base64_encode()          

    URL 处理函数库

    base64_encode

    将字符串以 BASE64 编码。
    语法: string base64_encode(string data);
    返回值: 字符串
    函数种类: 编码处理

      内容说明
    本函数将字符串以 MIME BASE64 编码。此编码方式可以让中文字或者图片也能在网络上顺利传输。在 BASE64 编码后的字符串只包含英文字母大小写、阿拉伯数字、加号与反斜线,共 64 个基本字符,不包含其它特殊的字符,因而才取名 BASE64。编码后的字符串比原来的字符串长度再加 1/3 左右。更多的 BASE64 编码信息可以参考 RFC2045 文件之 6.8 节。

     参考
    base64_decode()  chunk_split()  

    http://www.t086.com/code/php/function.php-base64_encode.php
    php技巧 → 正文内容 PHP编码解码详解
    http://www.jb51.net/article/64407.htm

    3、Base64编解码
    Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。使用的字符包括大小写字母各26个,加上10个数字,和加号「+」,斜杠「/」,一共64个字符,等号「=」用来作为后缀用途。完整的base64定义可见RFC 1421和RFC 2045。编码后的数据比原始数据略长,为原来的4/3。在电子邮件中,根据RFC 822规定,每76个字符,还需要加上一个回车换行。可以估算编码后数据长度大约为原长的135.1%。 https://zh.wikipedia.org/zh/Base64
    string base64_encode(string $data)  //使用 base64 对 data 进行编码。
    string base64_decode (string $data [, bool $strict = false ])  //对 base64 编码的 data 进行解码。
    案例:HTML页面中img标签可以在src属性中采用base64编码方式,来输出图片,这样可以减少HTTP请求次数。
    &lt;?php
    $string = file_get_content('3mc2.png');
    echo '&lt;img src="data:image/png;base64,',base64_encode($string),'"&gt;';
    /* @OUTPUT
    UEhQ5Lmf6IO95Yqe5aSn5LqL
    */
    ?&gt;
  • 举报 回复(0) 喜欢(0)     评分
    游客
    

    返回顶部