За последние 24 часа нас посетили 15955 программистов и 1503 робота. Сейчас ищут 790 программистов ...

url на русском

Тема в разделе "Прочее", создана пользователем sobachnik, 8 ноя 2008.

  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    http://пример.испытание
     
  2. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Как оно может быть верным если тут уже несколько опытных программистов сказали, что юникод это не кодировка, а система (стандарт) кодирования? Нет такой кодировки - юникод, понимаешь?

    Далее тогда возникает вопрос, в какой кодировке должен быть урл, в УТФ-8, в УТФ-16 или в УТФ-32?
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    блудный сын
    Ты читать умеешь?
    мог бы не полениться статью с ICANN почитать:
    У слова "кодировка" вообще нет точно определенного значения.
    UTF-8, т.к. коды латинских символов в адресной строке соответствуют кодам ASCII.
     
  4. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    блудный сын
    Для URL стандартом уже давно считается UTF-8. Просто вся хня в том, что через сетевые протоколы по-прежнему нельзя в качестве URL пропускать ничего, кроме ASCII-символов. Поэтому:
    - доменное имя кодируется методом punycode;
    - все остальное кодируется методом "URL-кодирования" (почти все, кроме латинских букв и цифр, превращается в %NN, например "?"="%3F", "Я"="%D0%AF" и т.п.).
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    А разве к ним латиница не относится?
     
  6. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Да прям там! :) Такая загадочная вещь, что и определения ей нет :) Вое тебе коротенькое определение: кодировка это набор символов. Можешь в википедии глянуть :)
    А до этого ты говорил юникод... И возмущался когда я переспрашивал... Так в юникоде или в УТФ-8?
     
  7. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    А если глянуть на проблему шире? Вот взгляни на эту ссылку (рабочая кстати :) ) http://яндекс.com/Яндекс立即下载看天下电子书阅读器.jpg В ней кроме всего прочего есть китайские иероглифы. Как можно с помощью УТФ-8 закодировать китайские иероглифы? Как? Их же тысячи!
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В UTF-8 симолы могуть быть хоть 4-х байтными, это дофига символов.
    В Юникоде UTF-8 блин :lol:
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    блудный сын
    Знаешь, почему UTF стал популярен? Потому что в его набор включили большинство языковых символов мира. И русский, и китайский, и арабский.
    В китайском около 100 иероглифов.

    УРЛ на русском пока невозможны в связи с тем, что сам протокол на HTTP английском.
    Если страница в утф, то ссылка может быть на русском, но, при этом, при запросе этой ссылке сервер, браузер переводит её в пуникод и/или в %NN. Т.е. русская ссылка - это только визуальный финт браузера, и не каждого, притом.
     
  10. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    ???
    Маловато будет. Вики по этому поводу считает, что
     
  11. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    блудный сын
    Ну пусть тысячи, в чем проблема-то. Я же писал выше, что UTF-8 - это кодировка для Юникода. Следовательно, все символы Юникода она умеет как-то представлять, иначе это нельзя было бы назвать кодировкой. В Юникод "умещается" вовсе не 2^16=65536 символов, а 2^32=4294967296 (на самом деле меньше, см. Википедию, там все расписано). Но на иероглифы вполне хватает.
     
  12. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Да? А пример такого 4-х байтного символа и его UTF-8 кода можешь привести?
    В общем я вижу ты понял, что юникод это не кодировка, а система кодирования? :)
    А как эта кодировка называется?
     
  13. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Ну как она может представить все символы, если в ней заложены только 256? Если бы УТФ-8 могла кодировать все символы, то тогда пропал бы смысл городить огород с УТФ-16 и УТФ-32.
     
  14. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Кто тебе такое сказал?

    Если я не ошибаюсь, то символы в UTF-16 хранятся в виде 4х символов шестнадцатеричной системы. 16^4 = 65 536 символов. UTF-8 со своими 4096 символами тоже вполне пригоден.

    UTF-16 и 32 придумали, чтобы уместить туда абсолютно все языки и их виды, а так же все спецсимволы мира.
     
  15. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
     
  16. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    О, теперь до меня начинает доходить! Значит если в УТФ-8 код символа вот такой 0xxxxxxx, то это 1 байт; если код символа вот такой 110xxxxx то это два символа и нужно следующие 8 бит читать совместно с первым, ну и так далее, как там в таблице:
    0xxxxxxx
    110xxxxx 10xxxxxx
    1110xxxx 10xxxxxx 10xxxxxx
    11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
     
  17. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Аллах акбар! ;-)

    ЗЫ.А разве не справа налево байты должны обозначаться? о_0
     
  18. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    Спасибо за подсказку! Я про этот нюанс совсем забыл :)
     
  19. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    блудный сын
    Я уже написал, сколько в ней "заложено" - 2^32=4294967296.
    Если бы на C++ можно было написать любую программу, то тогда пропал бы смысл городить огород с другими языками.
    У каждой кодировки есть свои достоинства и недостатки. Недостатки UTF-8 я уже не раз расписывал здесь. Но эти недостатки не связаны с количеством поддерживаемых символов.
     
  20. блудный сын

    блудный сын Активный пользователь

    С нами с:
    18 июн 2008
    Сообщения:
    632
    Симпатии:
    0
    А я думал только 256, т.к. 8 бит бают именно столько комбинаций. А оказывается они ввели управляющие байты, которые подсказывают сколько байт пошло на кодирование символа. Я этого не знал. Теперь буду всем рассказывать :)
    А я всегда думал, что именно это и является основной причиной введения УТФ-16 и УТФ-32!
     
  21. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Punycode — стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен, содержащих умляуты или символы кириллицы (в кодировке Unicode), в последовательность ASCII-символов.

    А преобразовать можно здесь http://mpak.su/idna
     
  22. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Наверно всетаки так

    0xxxxxxx
    110xxxxx xxxxxxxx
    1110xxxx xxxxxxxx xxxxxxxx
    11110xxx xxxxxxxx xxxxxxxx xxxxxxxx

    Просто использование 10 во втором и последующем байте является излишней информацией. Сколько байт используется мы уже знаем. И ее использование во всех последующих это напрасная трата ресурсов.
     
  23. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    блин это 2008 года тема =)
     
  24. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    О, свежачОк.
    А вообще домены на русском для меня приемлемы только в качестве редиректа на основной yandex.ru ( <= яндекс.ру).
    Лоховская фишка вобщемто.
     
  25. mpak

    mpak Активный пользователь

    С нами с:
    30 окт 2006
    Сообщения:
    440
    Симпатии:
    0
    Я тут как раз с того момента и небыл :)