在Perl 6 doc中找不到bytearray
方法或类似方法,就像在Python中一样。在Python中,bytearray定义为:
class bytearray([source[, encoding[, errors]]])
返回一个新的字节数组。 bytearray类是一个可变的整数序列,范围为0 <= x <256。它具有可变序列类型中介绍的大多数可变序列的常用方法,以及str类型具有的大多数方法,请参见字符串方法。
Perl 6是否应提供此方法或某些模块?
答案 0 :(得分:10)
我认为您正在寻找Buf-可变的(通常是无符号的)整数序列。使用:bin
打开文件将返回Buf
。
答案 1 :(得分:8)
brian d foy answer本质上是正确的。您几乎可以将this code转换为Perl6
from matplotlib import pyplot as plt
vals = [-4, -6, -8, -6, -5]
plt.bar(range(len(vals)), vals)
但是,声明不一样:
fig, ax1 = plt.subplots(1,1)
ax1.bar(range(len(vals)), vals)
ax1.invert_yaxis()
在Python中在Perl 6中将等效于此
my $frame = Buf.new;
$frame.append(0xA2);
$frame.append(0x01);
say $frame; # OUTPUT: «Buf:0x<a2 01>»
要使用与错误转换等效的方法,由于Perl 6进行Unicode标准化的方式不同,因此该方法有所不同。您可能必须使用UTF8 Clean 8
编码。
但是,对于大多数用途,我认为bu = bytearray( 'þor', encoding='utf8',errors='replace')
正确,如brian d foy所指示。