Как использовать UTF-16 в кодировании URL? - PullRequest
1 голос
/ 03 августа 2011

В настоящее время я использую utf-8 для кодирования URL. Я хочу конвертировать его в UTF-16.

Как мне этого добиться?

Ответы [ 2 ]

8 голосов
/ 03 августа 2011

При кодировании символов Unicode в URL-адресах их необходимо кодировать таким образом, чтобы все анализаторы и потребители URL-адресов могли понимать ваши URL-адреса.

С этой целью;когда URL был расширен с помощью RFC после разработки Unicode и связанных с ним стандартов и инструментов, было решено, что кодирование для кодирования символов (с использованием экранирования в процентах) должно быть UTF-8, поскольку это будет означать, что установленныйЭкранирование ASCII будет просто работать ™.

Следовательно, даже если вы сможете сгенерировать URL-адреса с помощью процентного экранирования на основе UTF-16, никакая другая программа не сможет их понять, что сделает их бесполезными.На самом деле, по определению, они даже не будут быть URL-адресами.

Также существует вопрос, почему на земле вы захотите использовать UTF-16 для чего угодно , это глупо и все такое.

Помните: Никогда не используйте UTF-8! ( N'DUUH! )

1 голос
/ 03 августа 2011

URL экранируется, как в шестнадцатеричных значениях% nn, кодирует байты. 8-битные байты. Если по какой-то очень нестандартной причине вы хотите кодировать байты UTF-16 вместо UTF-8, вы должны сначала выбрать порядок байтов (BE или LE). Затем вы должны написать код в своей программе, чтобы взять два байта каждого 16-битного символа UTF-16 и представить его как% nn в шестнадцатеричном виде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...