我正在尝试编写一个等同于scales::dollar
的函数,它在图的开头添加一个英镑(£)符号。由于比例代码非常强大,我将它用作框架并简单地将$替换为£。
一个精简的功能示例:
pounds<-function(x) paste0("£",x)
当我运行CHECK时,我得到以下内容:
Found the following file with non-ASCII characters:
pounds.R
Portable packages must use only ASCII characters in their R code,
except perhaps in comments.
Use \uxxxx escapes for other characters.
通过编写R扩展指南,它没有提供很多关于如何解决此问题的帮助(IMO)。它提到\ uxxxx并说它引用了Unicode字符。
查找unicode字符会产生代码£
,但我可以找到的\uxxxx
指南很少,与W3schools上的Java有关。
我的问题是:
如何使用\ uxxxx转义在R函数中实现非unicode字符的使用?在使用该函数后,使用情况如何影响这些字符的显示?
答案 0 :(得分:13)
对于\ uxxxx转义,您需要知道角色的十六进制数。您可以使用charToRaw
确定它:
sprintf("%X", as.integer(charToRaw("£")))
[1] "A3"
现在您可以使用它来指定非ascii字符。 \u00A3
和£
都代表相同的字符。
答案 1 :(得分:9)
试试这个:
pounds<-function(x) paste0("\u00A3",x)
答案 2 :(得分:1)
在以下情况下, stringi 软件包可能会有用:
int* newArray = new int[newSize];