Как преобразовать строку, чтобы предотвратить встраивание nul в строковую ошибку - PullRequest
1 голос
/ 02 октября 2019

Я получаю довольно распространенную ошибку встроенного nul в строке при преобразовании длинной строки с rawToChar()

Минимальный пример

Это работает, как и ожидалось

c(65:68) %>% as.raw %>% rawToChar 
# [1] "ABCD"

Но это ошибки

c(65:68, 0, 70) %>% as.raw %>% rawToChar 
# Error in rawToChar(.) : embedded nul in string: 'ABCD\0F'

Таким образом, кажется, 0 в c(0, 70) проблематично

c(0, 70) %>% as.raw %>% rawToChar

Но только при определенных обстоятельствах, поскольку это не ошибка (возвращается пустоестрока)

c(0) %>% as.raw %>% rawToChar
# ""

Примечания

Вопрос

Как преобразовать строку или строку as.raw(), чтобы надежно избежать этой ошибки при преобразовании с использованием rawToChar()?

1 Ответ

1 голос
/ 02 октября 2019

Мы можем использовать

c(65:68, 0, 70) %>%
    as.raw %>% 
    setdiff('00') %>%
   rawToChar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...