【问题标题】:How to encode strings in R with double backslashes?如何使用双反斜杠对 R 中的字符串进行编码?
【发布时间】:2021-12-04 20:05:47
【问题描述】:

R 中是否有任何简单的方法可以用双反斜杠对字符串进行编码?我从一个网站中提取了一些数据,并意识到数据中的单词被解码了。以下是部分数据:

'"option_name\":\"\\uc81c\\ud488\\uc120\\ud0dd#$%\\uc0c9\\uc0c1\"'

我希望它是:

'"option_name":"제품선택#$%색상"'

如果我手动替换字符串中的双反斜杠并打印,它可以正常工作,但我想避免手动操作。如果有人可以帮助我解决这个问题,那就太好了?

【问题讨论】:

    标签: r string encode


    【解决方案1】:

    鉴于提供的示例,它似乎没有“双反斜杠”——也许您的意思是双引号?

    在任何一种情况下,冒号右边的字符串都是 Unicode,所以这样的东西会正确编码:

    string <- "\uc81c\ud488\uc120\ud0dd#$%\uc0c9\uc0c1"
    new_string <- enc2utf8(string)
    cat(new_string)
    "제품선택#$%색상"
    

    如果要将整个选择视为一个字符串,可以将其用单引号括起来:

    string <- '"option_name":"\uc81c\ud488\uc120\ud0dd#$%\uc0c9\uc0c1"'
    new_string <- enc2utf8(string)
    cat(new_string)    
    "option_name":"제품선택#$%색상"
    
    # to remove the double quotes at the same time:
    new_string <- gsub('\"', "", enc2utf8(string))
    cat(new_string)
    option_name:제품선택#$%색상
    

    【讨论】:

    • 非常感谢您的回复,但我的字符串确实有双反斜杠。我的示例字符串如下: string
    猜你喜欢
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多