Загрузите пакеты .deb и установите их с помощью sudo dpkg -i *.deb.
Чтобы загрузить их:
wget http://archive.ubuntu.com/ubuntu/pool/main/l/language-pack-gnome-id-base/language-pack-gnome-id-base_12.04+20120417_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/l/language-pack-id-base/language-pack-id-base_12.04+20120417_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/l/language-pack-id/language-pack-id_12.04+20120417_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/l/language-pack-gnome-id/language-pack-gnome-id_12.04+20120417_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/firefox-locale-id_11.0+build1-0ubuntu4_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/libr/libreoffice/libreoffice-l10n-id_3.5.2-2ubuntu1_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openoffice.org-hyphenation/openoffice.org-hyphenation_0.6_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/p/poppler-data/poppler-data_0.4.5-2_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/main/t/thunderbird/thunderbird-locale-id_11.0.1+build1-0ubuntu2_all.deb
Я нашел пакет, renameutils, который содержит утилиту deurlname, которая может переименовать файл, содержащий «процентные» символы.
К сожалению, он не декодирует stdin или командной строки, но только переименуйте файл, поэтому вам нужно создать фиктивный файл для получения декодирования (имя переименованного файла), но с некоторыми сценариями bash процесс может быть автоматизирован.
Нет информацию о кодирующей части, даже потому, что может быть сомнительно, какие символы кодировать. Только не-ASCII?
Я думаю, что должен быть какой-то лучший инструмент / метод.
Чистое решение bash для декодирования только:
$ a='%C3%A6ndr%C3%BCk'
$ echo -e "${a//%/\\x}"
ændrük
jq -s -R -r @uri
-s (--slurp) считывают входные строки в массив, а -s -R (--slurp --raw-input) считывает ввод в одну строку. -r (--raw-output) выводит содержимое строк вместо строковых литералов JSON.
xxd -p|tr -d \\n|sed 's/../%&/g'
tr -d \\n удаляет добавляемые строки, которые добавляются через xxd -p после каждых 60 символов.
eu () {
local LC_ALL=C c
while IFS= read -r -n1 -d '' c
do
if [[ $c = [[:alnum:]] ]]
then
printf %s "$c"
else
printf %%%02x "'$c"
fi
done
}
Без -d '' это пропустит строки и нулевые байты. Без IFS= это заменит символы в IFS на %00. Без LC_ALL=C это заменило бы あ на %3042 в локали UTF-8.
Вот функция POSIX Awk для кодирования:
function encodeURIComponent(str, j, q) {
while (y++ < 125) z[sprintf("%c", y)] = y
while (y = substr(str, ++j, 1))
q = y ~ /[[:alnum:]_.!~*\47()-]/ ? q y : q sprintf("%%%02X", z[y])
return q
}
Пример
Я не могу комментировать лучший ответ в этом потоке, так что вот мой.
Лично я использую эти псевдонимы для кодирования и декодирования URL:
alias urlencode='python -c "import urllib, sys; print urllib.quote( sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
alias urldecode='python -c "import urllib, sys; print urllib.unquote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
Оба команды позволяют вам преобразовывать данные, передаваться как аргумент командной строки или читать их со стандартного ввода, потому что оба однострочных проверяют наличие аргументов командной строки (даже пустых) и обрабатывают их или просто читают стандартный ввод в противном случае.
... в соответствии с комментарием @muru.
Если вам также нужно кодировать косую черту, просто добавьте пустой аргумент в функцию котировки, тогда косая черта также будет закодирована.
Итак, наконец, urlencode псевдоним в bash выглядит например:
alias urlencode='python -c "import urllib, sys; print urllib.quote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1], \"\")"'
$ urlencode "Проба пера/Pen test"
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ echo "Проба пера/Pen test" | urlencode
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ urldecode %D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
Проба пера/Pen test
$ echo "%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test" | urldecode
Проба пера/Pen test
$ urlencode "Проба пера/Pen test" | urldecode
Проба пера/Pen test
$ echo "Проба пера/Pen test" | urlencode | urldecode
Проба пера/Pen test
Я нашел пакет, renameutils, который содержит утилиту deurlname, которая может переименовать файл, содержащий «процентные» символы.
К сожалению, он не декодирует stdin или командной строки, но только переименуйте файл, поэтому вам нужно создать фиктивный файл для получения декодирования (имя переименованного файла), но с некоторыми сценариями bash процесс может быть автоматизирован.
Нет информацию о кодирующей части, даже потому, что может быть сомнительно, какие символы кодировать. Только не-ASCII?
Я думаю, что должен быть какой-то лучший инструмент / метод.
Чистое решение bash для декодирования только:
$ a='%C3%A6ndr%C3%BCk'
$ echo -e "${a//%/\\x}"
ændrük
jq -s -R -r @uri
-s (--slurp) считывают входные строки в массив, а -s -R (--slurp --raw-input) считывает ввод в одну строку. -r (--raw-output) выводит содержимое строк вместо строковых литералов JSON.
xxd -p|tr -d \\n|sed 's/../%&/g'
tr -d \\n удаляет добавляемые строки, которые добавляются через xxd -p после каждых 60 символов.
eu () {
local LC_ALL=C c
while IFS= read -r -n1 -d '' c
do
if [[ $c = [[:alnum:]] ]]
then
printf %s "$c"
else
printf %%%02x "'$c"
fi
done
}
Без -d '' это пропустит строки и нулевые байты. Без IFS= это заменит символы в IFS на %00. Без LC_ALL=C это заменило бы あ на %3042 в локали UTF-8.
Вот функция POSIX Awk для кодирования:
function encodeURIComponent(str, j, q) {
while (y++ < 125) z[sprintf("%c", y)] = y
while (y = substr(str, ++j, 1))
q = y ~ /[[:alnum:]_.!~*\47()-]/ ? q y : q sprintf("%%%02X", z[y])
return q
}
Пример
Я не могу комментировать лучший ответ в этом потоке, так что вот мой.
Лично я использую эти псевдонимы для кодирования и декодирования URL:
alias urlencode='python -c "import urllib, sys; print urllib.quote( sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
alias urldecode='python -c "import urllib, sys; print urllib.unquote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
Оба команды позволяют вам преобразовывать данные, передаваться как аргумент командной строки или читать их со стандартного ввода, потому что оба однострочных проверяют наличие аргументов командной строки (даже пустых) и обрабатывают их или просто читают стандартный ввод в противном случае.
... в соответствии с комментарием @muru.
Если вам также нужно кодировать косую черту, просто добавьте пустой аргумент в функцию котировки, тогда косая черта также будет закодирована.
Итак, наконец, urlencode псевдоним в bash выглядит например:
alias urlencode='python -c "import urllib, sys; print urllib.quote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1], \"\")"'
$ urlencode "Проба пера/Pen test"
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ echo "Проба пера/Pen test" | urlencode
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ urldecode %D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
Проба пера/Pen test
$ echo "%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test" | urldecode
Проба пера/Pen test
$ urlencode "Проба пера/Pen test" | urldecode
Проба пера/Pen test
$ echo "Проба пера/Pen test" | urlencode | urldecode
Проба пера/Pen test
Я нашел пакет, renameutils, который содержит утилиту deurlname, которая может переименовать файл, содержащий «процентные» символы.
К сожалению, он не декодирует stdin или командной строки, но только переименуйте файл, поэтому вам нужно создать фиктивный файл для получения декодирования (имя переименованного файла), но с некоторыми сценариями bash процесс может быть автоматизирован.
Нет информацию о кодирующей части, даже потому, что может быть сомнительно, какие символы кодировать. Только не-ASCII?
Я думаю, что должен быть какой-то лучший инструмент / метод.
Чистое решение bash для декодирования только:
$ a='%C3%A6ndr%C3%BCk'
$ echo -e "${a//%/\\x}"
ændrük
jq -s -R -r @uri
-s (--slurp) считывают входные строки в массив, а -s -R (--slurp --raw-input) считывает ввод в одну строку. -r (--raw-output) выводит содержимое строк вместо строковых литералов JSON.
xxd -p|tr -d \\n|sed 's/../%&/g'
tr -d \\n удаляет добавляемые строки, которые добавляются через xxd -p после каждых 60 символов.
eu () {
local LC_ALL=C c
while IFS= read -r -n1 -d '' c
do
if [[ $c = [[:alnum:]] ]]
then
printf %s "$c"
else
printf %%%02x "'$c"
fi
done
}
Без -d '' это пропустит строки и нулевые байты. Без IFS= это заменит символы в IFS на %00. Без LC_ALL=C это заменило бы あ на %3042 в локали UTF-8.
Вот функция POSIX Awk для кодирования:
function encodeURIComponent(str, j, q) {
while (y++ < 125) z[sprintf("%c", y)] = y
while (y = substr(str, ++j, 1))
q = y ~ /[[:alnum:]_.!~*\47()-]/ ? q y : q sprintf("%%%02X", z[y])
return q
}
Пример
Я не могу комментировать лучший ответ в этом потоке, так что вот мой.
Лично я использую эти псевдонимы для кодирования и декодирования URL:
alias urlencode='python -c "import urllib, sys; print urllib.quote( sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
alias urldecode='python -c "import urllib, sys; print urllib.unquote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1])"'
Оба команды позволяют вам преобразовывать данные, передаваться как аргумент командной строки или читать их со стандартного ввода, потому что оба однострочных проверяют наличие аргументов командной строки (даже пустых) и обрабатывают их или просто читают стандартный ввод в противном случае.
... в соответствии с комментарием @muru.
Если вам также нужно кодировать косую черту, просто добавьте пустой аргумент в функцию котировки, тогда косая черта также будет закодирована.
Итак, наконец, urlencode псевдоним в bash выглядит например:
alias urlencode='python -c "import urllib, sys; print urllib.quote(sys.argv[1] if len(sys.argv) > 1 else sys.stdin.read()[0:-1], \"\")"'
$ urlencode "Проба пера/Pen test"
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ echo "Проба пера/Pen test" | urlencode
%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
$ urldecode %D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test
Проба пера/Pen test
$ echo "%D0%9F%D1%80%D0%BE%D0%B1%D0%B0%20%D0%BF%D0%B5%D1%80%D0%B0%2FPen%20test" | urldecode
Проба пера/Pen test
$ urlencode "Проба пера/Pen test" | urldecode
Проба пера/Pen test
$ echo "Проба пера/Pen test" | urlencode | urldecode
Проба пера/Pen test
Я нашел пакет, renameutils, который содержит утилиту deurlname, которая может переименовать файл, содержащий «процентные» символы.
К сожалению, он не декодирует stdin или командной строки, но только переименуйте файл, поэтому вам нужно создать фиктивный файл для получения декодирования (имя переименованного файла), но с некоторыми сценариями bash процесс может быть автоматизирован.
Нет информацию о кодирующей части, даже потому, что может быть сомнительно, какие символы кодировать. Только не-ASCII?
Я думаю, что должен быть какой-то лучший инструмент / метод.
Чистое решение bash для декодирования только:
$ a='%C3%A6ndr%C3%BCk'
$ echo -e "${a//%/\\x}"
ændrük
jq -s -R -r @uri
-s (--slurp) считывают входные строки в массив, а -s -R (--slurp --raw-input) считывает ввод в одну строку. -r (--raw-output) выводит содержимое строк вместо строковых литералов JSON.
xxd -p|tr -d \\n|sed 's/../%&/g'
tr -d \\n удаляет добавляемые строки, которые добавляются через xxd -p после каждых 60 символов.
eu () {
local LC_ALL=C c
while IFS= read -r -n1 -d '' c
do
if [[ $c = [[:alnum:]] ]]
then
printf %s "$c"
else
printf %%%02x "'$c"
fi
done
}
Без -d '' это пропустит строки и нулевые байты. Без IFS= это заменит символы в IFS на %00. Без LC_ALL=C это заменило бы あ на %3042 в локали UTF-8.
Вот функция POSIX Awk для кодирования:
function encodeURIComponent(str, j, q) {
while (y++ < 125) z[sprintf("%c", y)] = y
while (y = substr(str, ++j, 1))
q = y ~ /[[:alnum:]_.!~*\47()-]/ ? q y : q sprintf("%%%02X", z[y])
return q
}
Пример