Иврит "Кодировка URL" в R? - PullRequest
       12

Иврит "Кодировка URL" в R?

3 голосов
/ 07 декабря 2010

Меня упомянули оба:

?URLencode
#and
?curlEscape

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

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

שלום

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

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

Но вместо этого обе команды переводят его в:

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

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

Спасибо, Таль

Обновление: мой 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 Ответ

4 голосов
/ 07 декабря 2010

Мне кажется, что и URLencode, и charToRaw работают ...

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

Просмотр исходного кода URLencode

UrlEncode
функция (URL, зарезервировано = ЛОЖЬ)
{
ОК <- вставить ("[^ - ABCDEFGHIJKLMNOPQRSTUVWXYZ", <br>"abcdefghijklmnopqrstuvwxyz0123456789 $ _. +! * '(),",
если (! зарезервировано)
"; /?: @ = &", "]", sep = "")
x <- strsplit (URL, "") [[1L]] <br> z <- grep (OK, x) <br> if (length (z)) {
y <- sapply (x [z], функция (x) вставить ("%", as.character (charToRaw (x)), <br> sep = "", collapse = ""))
x [z] <- y <br> }
вставить (x, collapse = "")
}

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

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

Вот моя сессияInfo ()

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

локали:
[1] LC_COLLATE = Английский_Соединённые Штаты.1252 LC_CTYPE = Английский_Соединённые Штаты.1252 LC_MONETARY = Английский_Соединённые Штаты.1252
[4] LC_NUMERIC = C LC_TIME = English_United States.1252


прилагаемые базовые пакеты:
[1] stats graphics grDevices использует наборы методов базы данных


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

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

...