Брайан Д. Фой ответ по существу правильно.Вы можете в значительной степени перевести этот код в Perl6
my $frame = Buf.new;
$frame.append(0xA2);
$frame.append(0x01);
say $frame; # OUTPUT: «Buf:0x<a2 01>»
Однако объявление не то же самое:
bu = bytearray( 'þor', encoding='utf8',errors='replace')
в Python будет эквивалентно этому вPerl 6
my $bú = Buf.new('þor'.encode('utf-8'));
say $bú; # OUTPUT: «Buf:0x<c3 be 6f 72>»
И чтобы использовать что-то эквивалентное преобразованию ошибок, подход отличается от подхода Perl 6 к нормализации Unicode;вам, вероятно, придется использовать кодировку UTF8 Clean 8
.
Однако для большинства случаев, я думаю, Buf
, как указано Брайаном Д. Фой, является правильным.