Автор Тема: транслитерация в перл  (Прочитано 3950 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pegasus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
транслитерация в перл
« : 18 Февраля 2004, 10:48:57 »
Привет!
Люди, вот такой вопрос у меня.
Получаю данные из HTML формы, котроые были введены на русском языке в шестнадцеричном формате, типа "%CD%E8%CA%EE%CB%E0%C9". Присваиваю это переменной $string. - $string="%CD%E8%CA%EE%CB%E0%C9";

теперь нужно транслитерировать эту строку, из диапазона данных %C0-%DF в диапазон %E0-%FF

как будет выглядеть правильный код? заранее спасибо!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
транслитерация в перл
« Ответ #1 : 18 Февраля 2004, 11:13:32 »
use CGI;
print 
CGI::escape(\'привет\')
#%D0%D2%C9%D7%C5%D4
print CGI::unescape(\'%D0%D2%C9%D7%C5%D4\')
#привет
The documentations is your friend

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
транслитерация в перл
« Ответ #2 : 21 Февраля 2004, 02:55:07 »
А что значит "транслитерировать эту строку, из диапазона данных %C0-%DF в диапазон %E0-%FF"?
 BlueJacking среди нас

Оффлайн Pegasus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
транслитерация в перл
« Ответ #3 : 21 Февраля 2004, 13:21:54 »
Привет!

транслитерация - это замена всех символов из одного диапазона в другой соответственно.
допустим имеется строка $string="kuku";
если сделать так:

$string=~tr/a-z/A-Z/;

то все символы из диапазона a-z заменятся символами из диапазона A-Z, то есть $string уже будет "KUKU".
А мне надо перевести не символы а их шетнадцатеричный код из диапазона %C0-%DF в диапазон %E0-%FF, то есть чтобя %C0 заменилась на %Е0, %С1 на %Е1... ну и т.д....

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
транслитерация в перл
« Ответ #4 : 22 Февраля 2004, 03:00:11 »
Да что такое транслитерировать, я знаю.
Я так понял нужно было из 16-речного представления в русские буковки... Смутило "из диапазона %C0-%DF в диапазон %E0-%FF"... Что это значит? Что это за диапазоны?
 BlueJacking среди нас

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
транслитерация в перл
« Ответ #5 : 22 Февраля 2004, 03:02:52 »
Т.е. непонятно что это меняет ("%C0 заменилась на %Е0", etc). Всё равно же надо кириллические символы получить. Я в замешательстве...
 BlueJacking среди нас

Оффлайн Pegasus

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
транслитерация в перл
« Ответ #6 : 22 Февраля 2004, 15:16:51 »
Да нет, в русские буквы мне не надо. А этот диапазон, это и есть диапазон заглавных букв и маленьких, только в таком фомате. Мне надо перевести вме заглване буквы в маленькие, так как сайт, на сервере котором он находится, не поддерживает use locale;, и поэтому я не могу уменьшить заглавне русские буквы в мленькие, вот и задумал перевести вот таким вот образом.

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
транслитерация в перл
« Ответ #7 : 22 Февраля 2004, 20:35:31 »
Понял :)
 BlueJacking среди нас

 

Sitemap 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