У меня есть действительно дерьмовый файл, полный байтов юникода, который я пытаюсь очистить. Некоторые примеры из файла являются следующими:Как заставить Perl правильно интерпретировать байты Unicode?
ブラック
roler coaster
digital social party
big bellie
cornacopia
\xd0\xb7\xd1\x83\xd0\xb1\xd0\xbd\xd0\xb0\xd1\x8f \xd1\x89\xd0\xb5\xd1\x82\xd0\xba\xd0\xb0
Теперь, что я хотел бы сделать, это конвертировать все эти уродливые точки байт в режиме реального текст Юникода. Таким образом, выше будет выводиться как:
ブラック
roler coaster
digital social party
big bellie
cornacopia
зубная щетка
Я стучал головой о том, как сделать это в Perl монетой часа теперь, и я из хороших идей. Если у вас есть, я бы хотел это услышать.
Что вы имеете в виду под "Юникод байт"? Ли линия, следующая за «cornacopia» (она написана «рог изобилия», BTW) на самом деле содержит символы обратной косой черты? Какой текст «реального текста Юникода» вы хотите создать (UTF-8? UTF-16? Что-то еще?) –
Да, он имеет обратную косую черту. Я дал вставить именно то, что находится в файле. Вот почему «cornacopia» ошибочно написана. Я просто хочу преобразовать его в utf8. – Eli
[Encode :: Escape] (http://p3rl.org/Encode::Escape), [String :: Escape] (http://p3rl.org/String::Escape) - http://stackoverflow.com/questions/8740106/оценка-escape-последовательности-in-perl http://stackoverflow.com/questions/2660123/how-can-i-manually-interpolate-string-escapes-in-a-perl-string – daxim