Tu je môj perlový kód:
use Unicode::Escape;
my $string = shift;
print Unicode::Escape::escape($string) . "n";
Keď vykonám tento skript z terminálu, unicode nie je únikom
perl unicode_escape.pl "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ "
Výkon:
https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ
Ale keď je reťazec v kóde
use Unicode::Escape;
my $string = "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ";
print Unicode::Escape::escape($string) . "n";
keď spustím skript
perl unicode_escape.pl
Vytvára správny výstup
Výkon
https://docs.google.com/uc?id003d0ByPZe438mUkZVkNfTHZLejFLcnc0026export003ddownload0026revid003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ
Nechápem, ako sa perl rozhodne urobiť toto? Prosím pomôžte
UPDATE:
Ahoj, ikegami Snažil som sa to, ale stále tu nefunguje je môj kód:
use Unicode::Escape;
my $string = shift;
$string =~ s/\/\\/g;
print Unicode::Escape::escape($string) . "n";
Snažím sa produkovať výstup rovnaký ako druhý útržok kódu.
Chcem urobiť, keď spustím tento príkaz rovnako ako v prvom útržku kódu.
perl unicode_escape.pl "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ"
Výsledok by mal byť rovnaký ako druhý útržok kódu
Výkon
https://docs.google.com/uc?id003d0ByPZe438mUkZVkNfTHZLejFLcnc0026export003ddownload0026revid003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ
odpovede:
0 pre odpoveď č. 1V prvom útržku priradíte nasledovné $string
:
https://docs.google.com/...downloadu0026revid...
V druhom útržku priraďujete nasledovnému $string
:
https://docs.google.com/...download0026revid...
V perlovom dvojitom reťazci literálnom reťazci, u
spôsobí, že ďalšia postava bude vyššia. Musíte uniknúť .
my $string = "https://docs.google.com/...download\u0026revid...";