Що таке% 2C в URL-адресі?


412

Я намагаюся зрозуміти структуру URL-адреси, і я бачу багато %2C. Я здогадуюсь, це результат деякого кодування. Що це означає?



16
Ключова фраза, яку ви шукаєте, - "кодування URL-адрес".
BoltClock

22
@TrueWill 2C || ! 2C
AndroidDev

Відповіді:


607

Перевірте http://www.asciitable.com/

Подивіться на Hxстовпчик (Hex); 2Cкарти до,

Будь-яке незвичне кодування можна перевірити таким чином

+----+-----+----+-----+----+-----+----+-----+
| Hx | Chr | Hx | Chr | Hx | Chr | Hx | Chr |
+----+-----+----+-----+----+-----+----+-----+
| 00 | NUL | 20 | SPC | 40 |  @  | 60 |  `  |
| 01 | SOH | 21 |  !  | 41 |  A  | 61 |  a  |
| 02 | STX | 22 |  "  | 42 |  B  | 62 |  b  |
| 03 | ETX | 23 |  #  | 43 |  C  | 63 |  c  |
| 04 | EOT | 24 |  $  | 44 |  D  | 64 |  d  |
| 05 | ENQ | 25 |  %  | 45 |  E  | 65 |  e  |
| 06 | ACK | 26 |  &  | 46 |  F  | 66 |  f  |
| 07 | BEL | 27 |  '  | 47 |  G  | 67 |  g  |
| 08 | BS  | 28 |  (  | 48 |  H  | 68 |  h  |
| 09 | TAB | 29 |  )  | 49 |  I  | 69 |  i  |
| 0A | LF  | 2A |  *  | 4A |  J  | 6A |  j  |
| 0B | VT  | 2B |  +  | 4B |  K  | 6B |  k  |
| 0C | FF  | 2C |  ,  | 4C |  L  | 6C |  l  |
| 0D | CR  | 2D |  -  | 4D |  M  | 6D |  m  |
| 0E | SO  | 2E |  .  | 4E |  N  | 6E |  n  |
| 0F | SI  | 2F |  /  | 4F |  O  | 6F |  o  |
| 10 | DLE | 30 |  0  | 50 |  P  | 70 |  p  |
| 11 | DC1 | 31 |  1  | 51 |  Q  | 71 |  q  |
| 12 | DC2 | 32 |  2  | 52 |  R  | 72 |  r  |
| 13 | DC3 | 33 |  3  | 53 |  S  | 73 |  s  |
| 14 | DC4 | 34 |  4  | 54 |  T  | 74 |  t  |
| 15 | NAK | 35 |  5  | 55 |  U  | 75 |  u  |
| 16 | SYN | 36 |  6  | 56 |  V  | 76 |  v  |
| 17 | ETB | 37 |  7  | 57 |  W  | 77 |  w  |
| 18 | CAN | 38 |  8  | 58 |  X  | 78 |  x  |
| 19 | EM  | 39 |  9  | 59 |  Y  | 79 |  y  |
| 1A | SUB | 3A |  :  | 5A |  Z  | 7A |  z  |
| 1B | ESC | 3B |  ;  | 5B |  [  | 7B |  {  |
| 1C | FS  | 3C |  <  | 5C |  \  | 7C |  |  |
| 1D | GS  | 3D |  =  | 5D |  ]  | 7D |  }  |
| 1E | RS  | 3E |  >  | 5E |  ^  | 7E |  ~  |
| 1F | US  | 3F |  ?  | 5F |  _  | 7F | DEL |
+----+-----+----+-----+----+-----+----+-----+

54
Якщо ви пишете encodeURIComponent(",")в консолі JavaScript, то ви також отримаєте %2C. І з decodeURIComponent("%2C")тобою повернешся ,.
Бенні Нойгебауер

104

Це кодовий код ASCII у шістнадцятковому знаку для коми ( ,).

Ви повинні використовувати методи кодування URL-адрес вашої мови під час розміщення рядків у URL-адресах.

Ви можете побачити зручний список символів із man ascii. У ній є ця компактна схема для відображення шістнадцяткових кодів символу:

   2 3 4 5 6 7       
 -------------      
0:   0 @ P ` p     
1: ! 1 A Q a q     
2: " 2 B R b r     
3: # 3 C S c s     
4: $ 4 D T d t     
5: % 5 E U e u     
6: & 6 F V f v     
7: ' 7 G W g w     
8: ( 8 H X h x     
9: ) 9 I Y i y     
A: * : J Z j z
B: + ; K [ k {
C: , < L \ l |
D: - = M ] m }
E: . > N ^ n ~
F: / ? O _ o DEL

Ви також можете швидко перевірити шістнадцятковий еквівалент персонажа за допомогою:

$ echo -n , | xxd -p
2c

37

Ще одна методика, яку ви можете використати для отримання символу від url giberish, це відкрити Chromeконсоль F12і просто вставити наступний javascript:

decodeURIComponent("%2c")

він буде декодувати та повертати символ (або символи).

введіть тут опис зображення

Сподіваюсь, це заощадить певний час.


9

У Firefox є Ctrl+ Shift+ Kдля веб-консолі, після чого ви вводите

;decodeURIComponent("%2c")
  • майте на увазі крапку з комою на початку
  • якщо скопіювати та вставити, спершу слід увімкнути його (консоль попередить вас)

і ви отримаєте відповідь:

","

приємно: CTRL + SHIFT + J
Ashish Singh Rawat

2
Чому крапка з комою на початку? Якщо ви звернете на це увагу читача, було б непогано пояснити, чому. Працює в будь-якому випадку для мене.
kryger

3

Проста та легка відповідь,

Значення% 2C означає , коска в URL-адресі. коли ви додаєте рядок "abc, defg" в URL в якості параметра, тоді кома в рядку, що abc, defg змінюється на abc% 2Cdefg . Не потрібно про це турбуватися.


2

%2CПерекладається коми ( ,). Я бачив це під час пошуку речення із комою в ньому та на URL-адресі, замість того, щоб показувати кому %2C.


-4

Це кодовий код ASCII у шістнадцятковому знаку для коми (,).

тобто =% 2С

як у моєму посиланні, припустимо, я хочу замовити за двома полями, значить, у моєму посиланні воно вийде

order_by = id% 2Назви, що дорівнює order_by = id, ім'я.


3
Ваша відповідь насправді не додає нічого нового, про що вже не було сказано в інших, набагато старших відповідях.
vijoc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.