R 将UTF-8十六进制转换为Unicode十六进制

R 将UTF-8十六进制转换为Unicode十六进制,r,string,unicode,utf-8,R,String,Unicode,Utf 8,我有一些字符串,比如“flamenguistas e s\xc3a3o paulinos”,以这种方式包含UTF-8代码“\xc3a3”。我怎样才能把它变成字母“ã” 我遇到了麻烦,因为大多数用于取消转义的函数都希望代码是Unicode的,而我还没有找到将UTF-8十六进制转换为Unicode十六进制的正确方法 除了编写从表读取的函数并进行转换外,还有没有一种简单的方法可以将UTF-8十六进制转换为Unicode十六进制 另外,当我说“Unicode十六进制”/“UTF-8十六进制”时,我的意思

我有一些字符串,比如“flamenguistas e s\xc3a3o paulinos”,以这种方式包含UTF-8代码“\xc3a3”。我怎样才能把它变成字母“ã”

我遇到了麻烦,因为大多数用于取消转义的函数都希望代码是Unicode的,而我还没有找到将UTF-8十六进制转换为Unicode十六进制的正确方法

除了编写从表读取的函数并进行转换外,还有没有一种简单的方法可以将UTF-8十六进制转换为Unicode十六进制


另外,当我说“Unicode十六进制”/“UTF-8十六进制”时,我的意思是:

看起来R支持PCRE正则表达式。您可以移植以下替换

hex函数接受十六进制数字字符串并将其转换为数字。chr函数接受一个数字并将其转换为一个字符。点运算符是字符串连接。整个结果由UTF-8编码的八位字节组成

#!/usr/bin/env perl
$_ = <<'';
flamenguistas e s\xc3a3o paulinos

s|
    \\x             # literal \x
    (               # capture into $1
        [0-9a-f]    # hex digits
        {2}         # exactly two times
    )
    (               # capture into $2
        [0-9a-f]
        {2}
    )
|
    chr(hex($1)) . chr(hex($2))
|egmsx;

print; # flamenguistas e são paulinos
#/usr/bin/env perl

$\如果您提供了显示此类字符串定义的实际代码,则会有所帮助。原因很简单,有很多地方可以对事物进行转义或解释。有了代码,就不需要解释了,所以请给出一个例子,说明你拥有什么和你需要什么。对于这里的新用户,一般建议是,使用并阅读“\xc3a3”似乎很奇怪。你确定不是“\xc3\xa3”吗?这只是字节的“转储到字符串”呈现吗?也就是说,字符串是否包含反斜杠和x,或者是否包含值为c3(十六进制)的字节?