Почему печать фрейма данных предполагает другую кодировку, чем печать столбца фрейма данных? - PullRequest
2 голосов
/ 20 мая 2019

Я создаю кадр данных с ä, закодированным в UTF-8:

> df <- data.frame(a = c('\xc3\xa4'));
> df$a <- as.character(df$a);

. На данный момент кодировка df$a неизвестна, как и ожидалось:

> Encoding(df$a);
[1] "unknown"

При печати df$a печатается мусор, который я тоже ожидал:

> df$a;
[1] "ä"

Итак, я явно установил кодировку df$a в UTF-8:

> Encoding(df$a) <- 'UTF-8';

Печать df$a теперь дает мне правильный символ:

> df$a;
[1] "ä"

Однако, когда я печатаю весь набор данных, я снова получаю что-то неожиданное.

> df
         a
1 <U+00E4>

Хотя df$a нигде не имеет нулевого байта:

> charToRaw(df$a)
[1] c3 a4

Я не понимаю, почему печать df ведет себя иначе, чем печать df$a.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...