3

我被提到过:

?URLencode
#and
?curlEscape

我看到这两个功能都适用于英语,但无法为希伯来语字符提供正确的翻译。

例如,这个词

שלום

(和平,希伯来语)应该是这样的:

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

但是,这两个命令都将其转换为:

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

你有什么建议?(自己写,或者有什么预制的)

谢谢, 塔尔

更新:我的会话信息:

> 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     
4

1 回答 1

4

URLencode 和 charToRaw 似乎都对我有用......

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

看URLencode的源码

URLencode
函数 (URL, reserved = FALSE)
{
OK <- paste("[^-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"abcdefghijklmnopqrstuvwxyz0123456789$_.+!*'(),",
if (!reserved)
";/?:@=&" , "]", sep = "")
x <- strsplit(URL, "")[[1L]]
z <- grep(OK, x)
if (length(z)) {
y <- sapply(x[z ], function(x) paste("%", as.character(charToRaw(x)),
sep = "", collapse = ""))
x[z] <- y
}
paste(x, collapse = "")
}

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

您使用的是哪个版本的 R?

这是我的 sessionInfo()

sessionInfo()
R 版本 2.10.0 (2009-10-26)
i386-pc-mingw32

语言环境:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME =English_United States.1252


附加的基础包:
[1] 统计图形 grDevices utils 数据集方法基础


其他附加包:
[1] preprocessCore_1.8.0

通过命名空间加载(未附加):
[1] tools_2.10.0

于 2010-12-06T23:56:14.947 回答