2010-12-06 1 views
2

я упоминался как:Иврит «URL-кодирование» в R?

?URLencode 
#and 
?curlEscape 

Я вижу, что обе функции работают отлично подходит для английского языка, но не в состоянии обеспечить с правильным переводом на иврит символов.

Например, слово

שלום

(Мир, на иврите) Должно быть так:

% D7% A9% D7% 9C% D7% 95% D7% 9D

Но вместо этого обе команды transl съели его до:

URLencode("שלום") 
%f9%ec%e5%ed 

Что вы предлагаете? (Написать его самостоятельно, или есть что-то заранее сделал)

Спасибо, Tal

Update: Мой sessionInfo:

> sessionInfo() 
R version 2.12.0 (2010-10-15) 
Platform: i386-pc-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=Hebrew_Israel.1255 LC_CTYPE=Hebrew_Israel.1255 
[3] LC_MONETARY=Hebrew_Israel.1255 LC_NUMERIC=C     
[5] LC_TIME=Hebrew_Israel.1255  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  
+1

Работы для меня тоже Tal. Я запускаю R2.12-исправленный на Linux в локали enGB.utf8. – 2010-12-07 09:29:19

+0

О.к., я обнаружил, что ошибка была в использовании моего локального. Благодаря! – 2010-12-07 11:38:42

ответ

4

Оба UrlEncode и charToRaw, кажется, работает для меня ...

UrlEncode ("שלום")
[1] "% D7% A9% D7% 9C% D7% 95% D7% 9d"

Глядя на исходный код UrlEncode

UrlEncode
функции (URL, зарезервированных = FALSE)
{
OK < - паста ("[^ - АБВГДЕЖЗИКЛМНОПРСТУФХЧШЭЮЯ",
«abcdefghijklmnopqrstuvwxyz$ _. +! * '(), ",
if (! Reserved)
"; /?: @ = & ","] ", sep =" ")
х < - strsplit (URL-адрес "") [[1L]]
г < - Grep (ОК, х)
, если (длина (г)) {
у < - sapply (х [г], функция (x) вставить ("%", as.символ (charToRaw (х)),
сентября = "", коллапс = ""))
х [г] < - у
}
паста (х, коллапс = "")
}

charToRaw ("שלום")
[1] d7 d7 a9 9c d7 95 d7 9d

Какую версию R вы используете?

Вот мой sessionInfo()

sessionInfo()
R версия 2.10.0 (2009-10-26)
i386-рс-mingw32

локали:
[1] LC_COLLATE = English_United States.1252 LC_CTYPE = English_United States.1252 LC_MONETARY = English_United States.1252
[4] LC_NUMERIC = С = LC_TIME English_United States.1252


прикрепленные базовые пакеты:
[1] Статистика графики grDevices UTILS наборы данных базовые методы


другие прикрепленные пакеты:
[1] preprocessCore_1.8.0

загружается через пространство имен (а не прилагается):
[1] tools_2.10.0