欢迎光临散文网 会员登陆 & 注册

2023-1-1速记

2023-01-01 22:01 作者:柚mingle木  | 我要投稿

    使用HttpUtil.doPost(url,reqData)方法对将json数据传给其他服务时出现键值对消失的情况,是因为在键值对中出现了特殊字符,如"%"。 在数据"intro":"危重病抢救成功率达98.84%,患者满意率达97.38%。"中出现了%,整个intro键值对消失,整的我头疼。将%更换为%25,即可恢复正常。

网址URL中特殊字符转义编码

  字符    -    URL编码值

    空格    -    %20
    "          -    %22
    #         -    %23
    %        -    %25
    &         -    %26
    (          -    %28
    )          -    %29
    +         -    %2B
    ,          -    %2C
    /          -    %2F
    :          -    %3A
    ;          -    %3B
    <         -    %3C
    =         -    %3D
    >         -    %3E
    ?         -    %3F
    @       -    %40
    \          -    %5C
    |          -    %7C 

    当然也不是所有的特殊字符都会将键值对失效,比如+会在url转义过程中变成空格,所有,需要拿到数据使用replace()方法进行重新切换,将空格重新换成+

URL特殊字符转义,URL中一些字符的特殊含义,基本编码规则如下:

  1. 空格换成加号(+)

  2. 正斜杠(/)分隔目录和子目录

  3. 问号(?)分隔URL和查询

  4. 百分号(%)制定特殊字符

  5. #号指定书签

  6. &号分隔参数

    本人觉得这个还是很有用的

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


资料来自:https://blog.csdn.net/p312011150/article/details/78928003


2023-1-1速记的评论 (共 条)

分享到微博请遵守国家法律