如何硬编码原始字符;83“;在RStudio?
在R中,有一种称为原始向量/原始字符的东西。来自“rawToChar”和“charToRaw”函数等的向量。如果将原始向量放入控制台,它将被打印。一个这样的原始元素可以打印为“83”。现在我想检查给定的原始字符是否等于打印为“83”的原始字符。所以我想把硬编码的原始字符放进我的代码中,与之进行比较。我该怎么做?如何硬编码原始字符;83“;在RStudio?,r,codepages,R,Codepages,在R中,有一种称为原始向量/原始字符的东西。来自“rawToChar”和“charToRaw”函数等的向量。如果将原始向量放入控制台,它将被打印。一个这样的原始元素可以打印为“83”。现在我想检查给定的原始字符是否等于打印为“83”的原始字符。所以我想把硬编码的原始字符放进我的代码中,与之进行比较。我该怎么做? 我找到的唯一方法就是使用charToRaw(“ƒ”)。但是,这只在控制台中起作用。将ƒ放入RStudio文件的源代码是困难的。试试看: print("ƒ") 这将作为输出: [1] “
我找到的唯一方法就是使用charToRaw(“ƒ”)。但是,这只在控制台中起作用。将ƒ放入RStudio文件的源代码是困难的。试试看:
print("ƒ")
这将作为输出:[1] “Æ”
如果print语句位于已编译的RStudio文件中(它仅在控制台中按预期工作)。我尝试了以下2种方法,它对我有效 从控制台
> print("ƒ")
[1] "ƒ"
函数内
> for (i in 1:3) {
+ print("ƒ")
+ }
[1] "ƒ"
[1] "ƒ"
[1] "ƒ"
你能打开文件->用编码重新打开->选择UTF-8并再试一次吗?我尝试了以下两种方法,它对我有效 从控制台
> print("ƒ")
[1] "ƒ"
函数内
> for (i in 1:3) {
+ print("ƒ")
+ }
[1] "ƒ"
[1] "ƒ"
[1] "ƒ"
您是否可以打开文件->使用编码重新打开->选择UTF-8并重试一次该
83
是一个原始值,即十六进制数
您可以使用以下选项:
intToUtf8(8 * 16 + 3) == "ƒ"
#[1] TRUE
还是这个
x <- rawToChar(as.raw(8*16+3))
Encoding(x) <- "latin1"
x == "ƒ"
#[1] TRUE
x83
是一个原始值,即十六进制数
您可以使用以下选项:
intToUtf8(8 * 16 + 3) == "ƒ"
#[1] TRUE
还是这个
x <- rawToChar(as.raw(8*16+3))
Encoding(x) <- "latin1"
x == "ƒ"
#[1] TRUE
x感谢您的快速回复。我尝试将编码更改为UTF-8,但没有效果。另外,只有当字符在编译文件中,然后在命令行中调用该文件中的函数时,才会出现问题。将for循环复制粘贴到控制台中有助于快速响应。我尝试将编码更改为UTF-8,但没有效果。另外,只有当字符在编译文件中,然后在命令行中调用该文件中的函数时,才会出现问题。将for循环复制粘贴到控制台对meDo有效您知道使用什么int吗?intToUtf8(83)和intToUtf8(8*16+3)给出的结果都不同于charToRaw(“ƒ”),您知道使用什么int吗?intToUtf8(83)和intToUtf8(8*16+3)给出的结果都不同于charToRaw(“ƒ”),谢谢,这很有效!起初我有点困惑,因为intToUtf8(8*16+3)打印为\u0083,但它实际上是相同的原始值。谢谢谢谢,这成功了!起初我有点困惑,因为intToUtf8(8*16+3)打印为\u0083,但它实际上是相同的原始值。谢谢