encodeURIComponent似乎为我的字符串添加了一个字符

亚历克斯·麦克米兰

jQuery.ajax() 在转义数据时做一些奇怪的事情。

例如,如果我发送请求:

$.ajax({
    url: 'somethinguninteresting',
    data: {
        name: 'Ihave¬aweirdcharacter';
    }
});

然后在Chrome devtools中研究XHR,它将“请求有效载荷”显示为 name=Ihave%C2%ACaweirdcharacter

现在,我发现:

'¬'.charCodeAt(0) === 172

并且172是AC十六进制的。

向后工作C2(十六进制的“多余”字符在前面)是十进制的194,并且

String.fromCharCode(194) === 'Â'

我的问题:

为什么

encodeURIComponent('¬')

return '%C2%AC',这似乎是调用的结果

encodeURIComponent('¬')

(本身返回'%C3%82%C2%AC')?

杰克

尽管JavaScript在内部使用UTF-16(或UCS-2),但它基于UTF-8执行URI编码。

序数172被编码为两个字节,因为它不再可以用ASCII表示;UTF-8中的两字节编码是通过以下方式完成的:

110xxxxx 10xxxxxx

代替x我们填写172的二进制表示形式,即10101100:

11000010 10101100 = C2AC
   ^^^
   pad

然后,此结果将进行百分比编码以最终形成形式%C2%AC,即您在请求有效负载中看到的形式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在我的返回page_head字符串中添加一个字符串值

来自分类Dev

golang在字符串之前添加一个字符串... interface {}

来自分类Dev

将多个字符串读为一个字符串?C ++

来自分类Dev

每次我运行代码时,在字符串中添加一个字符

来自分类Dev

在字符串中间添加一个字符

来自分类Dev

C strcpy复制字符串并添加另一个字符

来自分类Dev

在子字符串的每个实例中添加一个字符

来自分类Dev

C strcpy复制字符串并添加另一个字符

来自分类Dev

如果最后一个字符为奇数,则打印字符串

来自分类Dev

每2个字符前添加一个字符串

来自分类Dev

如果字符串javascript的最后一个字符,我如何摆脱?

来自分类Dev

为Python列表中的每个元素在4个字符之后添加一个字符串

来自分类Dev

收到一个字符串

来自分类Dev

收到一个字符串

来自分类Dev

返回一个字符串

来自分类Dev

For 循环一个字符串

来自分类Dev

给定一个字符串,返回一个字符串

来自分类Dev

向数组列表中的每个字符串添加一个字符

来自分类Dev

如何在列表中每个字符串的末尾添加一个字符?

来自分类Dev

我如何在打印一个字符串的同时继续打印一个字符串?

来自分类Dev

取字符串的第一个字符,直到字符串为空“”

来自分类Dev

如果第一个字符为 0,则替换字符串的第一个字符

来自分类Dev

ionic:我有一个字符串化的json的作用域变量为空

来自分类Dev

每5个字符分割一个字符串

来自分类Dev

一个字符一个字符地逐步执行一个字符串?

来自分类Dev

我期待一个函数返回一个字符串,但似乎返回未定义。它没有通过摩卡测试

来自分类Dev

在每个日志语句中添加一个字符串

来自分类Dev

向每个元组添加一个字符串

来自分类Dev

JAVA-添加到arrayList一个字符串

Related 相关文章

  1. 1

    在我的返回page_head字符串中添加一个字符串值

  2. 2

    golang在字符串之前添加一个字符串... interface {}

  3. 3

    将多个字符串读为一个字符串?C ++

  4. 4

    每次我运行代码时,在字符串中添加一个字符

  5. 5

    在字符串中间添加一个字符

  6. 6

    C strcpy复制字符串并添加另一个字符

  7. 7

    在子字符串的每个实例中添加一个字符

  8. 8

    C strcpy复制字符串并添加另一个字符

  9. 9

    如果最后一个字符为奇数,则打印字符串

  10. 10

    每2个字符前添加一个字符串

  11. 11

    如果字符串javascript的最后一个字符,我如何摆脱?

  12. 12

    为Python列表中的每个元素在4个字符之后添加一个字符串

  13. 13

    收到一个字符串

  14. 14

    收到一个字符串

  15. 15

    返回一个字符串

  16. 16

    For 循环一个字符串

  17. 17

    给定一个字符串,返回一个字符串

  18. 18

    向数组列表中的每个字符串添加一个字符

  19. 19

    如何在列表中每个字符串的末尾添加一个字符?

  20. 20

    我如何在打印一个字符串的同时继续打印一个字符串?

  21. 21

    取字符串的第一个字符,直到字符串为空“”

  22. 22

    如果第一个字符为 0,则替换字符串的第一个字符

  23. 23

    ionic:我有一个字符串化的json的作用域变量为空

  24. 24

    每5个字符分割一个字符串

  25. 25

    一个字符一个字符地逐步执行一个字符串?

  26. 26

    我期待一个函数返回一个字符串,但似乎返回未定义。它没有通过摩卡测试

  27. 27

    在每个日志语句中添加一个字符串

  28. 28

    向每个元组添加一个字符串

  29. 29

    JAVA-添加到arrayList一个字符串

热门标签

归档