1 / 1 / 1
Регистрация: 24.03.2013
Сообщений: 177

Есть возможность перевести кириллицу для работы в качестве URL

25.07.2018, 01:00. Показов 3895. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть возможность перевести кириллицу для работы в качестве URL
Python
1
2
from urllib.parse   import quote
print(quote("А"))
Вопрос: кто-нибудь знает, как обойтись без библиотеки urllib и сделать то же самое?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2018, 01:00
Ответы с готовыми решениями:

Есть ли возможность использовать библиотеку из Microsoft Word для работы с html?
Всем здравствуйте, не знаю в какую тему писать, написал сюда. поправьте если что не так. Задача такова - Есть ли возможность использовать...

Есть ли возможность сделать скрипт для вывода времени работы процесса за месяц?
У меня получилось только вивести к примеру общую работу вот таким вот способом New-Timespan -Start (Get-Process -Id 9908).Starttime ...

Есть ли возможность внедрить все необходимые для работы SQL CE библиотеки в свое решение?
Добрый день! Подскажите, есть возможность внедрить все необходимые для работы SQL CE библиотеки в свое решение? Т.е. нужно сделать...

9
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.07.2018, 01:32
https://en.wikipedia.org/wiki/Percent-encoding
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.07.2018, 06:47
Python
1
2
>>> urllib.quote_plus('фыв')
'%D1%84%D1%8B%D0%B2'
Добавлено через 1 минуту
А если без библиотеки… Делаешь большой словарь автозамен, но оно тебе нужно?
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
26.07.2018, 10:56
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Делаешь большой словарь автозамен
не такой уж, он и большой...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    ////////////////////////////////////////////////////////////////////////////
    public static function strToURL($str, $is_cyr = false){
 
        $str    = str_replace(' ', '-', mb_strtolower(trim($str)));
        $string = rtrim(preg_replace ('/[^a-zA-Zа-яёА-ЯЁ0-9\-]/iu', '-', $str), '-');
 
        while(mb_strstr($string, '--')){ $string = str_replace('--', '-', $string); }
 
        if(!$is_cyr){
            $ru_en = array(
                            'а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d',
                            'е'=>'e','ё'=>'yo','ж'=>'zh','з'=>'z',
                            'и'=>'i','й'=>'i','к'=>'k','л'=>'l','м'=>'m',
                            'н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s',
                            'т'=>'t','у'=>'u','ф'=>'f','х'=>'h','ц'=>'c',
                            'ч'=>'ch','ш'=>'sh','щ'=>'sch','ъ'=>'','ы'=>'y',
                            'ь'=>'','э'=>'ye','ю'=>'yu','я'=>'ja'
                          );
 
            foreach($ru_en as $ru=>$en){
                $string = preg_replace('/(['.$ru.']+?)/iu', $en, $string);
            }
        }
 
        if (!$string){ $string = 'untitled'; }
        if (is_numeric($string)){ $string .= 'untitled'; }
 
        if(!cmsConfig::getConfig('seo_url_count')){
            return $string;
        } else {
            return mb_substr($string, 0, cmsConfig::getConfig('seo_url_count'));
        }
 
    }
Добавлено через 8 минут
https://code-examples.net/ru/d... /http/urls

https://habr.com/post/208192/

судя по написанному тут, хранить байткод url и потом декодировать, когда нужно
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
26.07.2018, 18:04
IRIP, ты не тот код запостил.

Речь идёт про 'фыв' -> '%D1%84%D1%8B%D0%B2'.

Однако, можно попробовать закодировать с минимальными усилиями и поймать кучу багов на пустом месте:
Python
1
2
str('фыв')
'\xd1\x84\xd1\x8b\xd0\xb2'
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
26.07.2018, 21:00
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
и поймать кучу багов на пустом месте
почему? Если сначала кодировать по таблице в латиницу а потом в байткод?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
26.07.2018, 21:31
IRIP,
Пример на PHP это slugify (транслитерация url) - преобразование произвольной строки в валидный url. В Джанго оно тоже есть, но правда, кириллицу не поддерживает(?).

Но ТС (судя по примеру с quote имел ввиду ручное URLencoded(percent‐encoding) кодирование\квотирование url - то есть замену всех специальных символов (кроме цифр, латиницы и символа подчеркивания, точки и дефиса) последовательностями %nn, где nn - это код (в hex виде) символа. Для этого дела есть соответствующее RFC 3986 и если есть желание заниматься бесполезными велосипедами, просто прочитайте его.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
26.07.2018, 22:19
Цитата Сообщение от Garry Galler Посмотреть сообщение
В Джанго оно тоже есть, но правда, кириллицу не поддерживает(?).
в django 2
пишут, поддерживает
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,754
23.12.2024, 19:23
А как наоборот, получить из нечитаемой русским человеком ссылки, понятный урл?
Нашел пример, только он не сработал:
Python
1
2
$ python -c "import urllib.parse;print(urllib.parse.unquote('%D0%90%D0%9F%D0%92%D0%A1'))"
АПВС
Python
1
2
3
4
5
6
7
8
9
10
Microsoft Windows [Version 10.0.19045.5247]
(c) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
 
C:\Users\admin>python -c "import urllib.parse; print(urllib.parse.unquote('https://gorcrb58.ru/sanitary-enlightenment-work/-/asset_publisher/a9bv9ogMnHnI/content/%25D0%2593%25D0%25B8%25D0%25B4%25D0%25B0%25D1%2580%25D0%25BE%25D0%25BE%25D0%25BA%25D0%25B8%25D1%2581%25D1%258C-%25D0%259A%25D0%25B0%25D0%25BB%25D1%258C%25D1%2586%25D0%25B8%25D1%258F.-%25D0%2592%25D1%2580%25D0%25B5%25D0%25BC%25D0%25B5%25D0%25BD%25D0%25BD%25D0%25BE%25D0%25B5-%25D0%25BF%25D0%25BB%25D0%25BE%25D0%25BC%25D0%25B1%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25B8%25D0%25B8-%25D0%25BA%25D0%25BE'))"
https://gorcrb58.ru/sanitary-enlightenment-work/-/asset_publisher/a9bv9ogMnHnI/content/%D0%93%D0%B8%D0%B4%D0%B0%D1%80%D0%BE%D0%BE%D0%BA%D0%B8%D1%81%D1%8C-%D0%9A%D0%B0%D0%BB%D1%8C%D1%86%D0%B8%D1%8F.-%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5-%D0%BF%D0%BB%D0%BE%D0%BC%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BA%D0%BE
 
C:\Users\admin>python -c "import urllib.parse; url='https://gorcrb58.ru/sanitary-enlightenment-work/-/asset_publisher/a9bv9ogMnHnI/content/%D0%93%D0%B8%D0%B4%D0%B0%D1%80%D0%BE%D0%BE%D0%BA%D0%B8%D1%81%D1%8C-%D0%9A%D0%B0%D0%BB%D1%8C%D1%86%D0%B8%D1%8F.-%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5-%D0%BF%D0%BB%D0%BE%D0%BC%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BA%D0%BE'; print(url)"
https://gorcrb58.ru/sanitary-enlightenment-work/-/asset_publisher/a9bv9ogMnHnI/content/%D0%93%D0%B8%D0%B4%D0%B0%D1%80%D0%BE%D0%BE%D0%BA%D0%B8%D1%81%D1%8C-%D0%9A%D0%B0%D0%BB%D1%8C%D1%86%D0%B8%D1%8F.-%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5-%D0%BF%D0%BB%D0%BE%D0%BC%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8-%D0%BA%D0%BE
 
C:\Users\admin>
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
28.12.2024, 12:06
supmener, а второй раз unquote вызвать?
Миниатюры
Есть возможность перевести кириллицу для работы в качестве URL  
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.12.2024, 12:06
Помогаю со студенческими работами здесь

Есть ли возможность использовать компьютер в качестве Bluetooth-гарнитуры?
Добрый день! Есть ли возможность использовать компьютер в качестве Bluetooth-гарнитуры? Это нужно для подключения телефона к компьютеру...

Есть Возможность Работы С Графикой В Лотусах?
Интересует такой момент, есть-ли возможность что-то рисовать непосредственно в Лотусах? XPages Не подходит, веб, также, не подходит. ...

Есть ли в 1с ут 10.3 возможность работы как r-keeper
Есть ли в 1с ут 10.3 возможность работы как r-keeper. В 1с имеется интерфейс кассира и хотелось бы чтобы при выборе номенклатуры из подбора...

Есть ли в C++ возможность работы с метаданными класса/структуры?
Здравствуйте уважаемые форумчане. Есть ли в с++ возможность работы с метеоданными класса/структуры ?

Экспорт графики из Maple. Есть ли возможность выгрузить рисунки из Maple в хорошем качестве?
Делаю в Maple геометрические иллюстрации к статье, которую верстаю в TeXstudio, но, при их сохранении как изображения или pdf, качество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru