作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Python3 函数,它结合了两个 bytes
, 一次使用 bytes.fromhex()方法,其他使用 to_bytes()方法:
from datatime import datetime
def bytes_add() -> bytes:
bytes_a = bytes.fromhex('6812')
bytes_b = datetime.now().month.to_bytes(1, byteorder='little', signed=False)
return bytes_a + bytes_b
是否可以在 Raku 中编写与上述相同的函数?(如果可以,如何控制
byteorder
和
signed
参数?)
byteorder
, 说转换号码
1024
至
bytes
在 Python 中:
(1024).to_bytes(2, byteorder='little') # Output: b'\x00\x04', byte 00 is before byte 04
作为对比,转换数字
1024
至
Buf
或
Blob
在乐:
buf16.new(1024) # Output: Buf[uint16]:0x<0400>, byte 00 is after byte 04
有什么办法可以得到
Buf[uint16]:0x<0004>
在上面的 Raku 示例中?
sub bytes_add() {
my $bytes_a = pack("H*", '6812');
my $bytes_b = buf16.new(DateTime.now.month);
$bytes_a ~ $bytes_b;
}
但是还是不知道怎么用
byteorder
.
最佳答案
Is it possible to write a same function as above in Raku?
sub bytes-add(--> Blob) {
my $bytes-a = Blob(<68 12>);
my $bytes-b = Blob(DateTime.now.month);
Blob(|$bytes-a, |$bytes-b)
}
bytes-add
的输出默认情况下使用其十六进制表示形式 (
Blob:0x<44 0C 09>
) 打印。如果你想像 Python 打印它的字节文字一样打印它,你可以用
bytes-add».chr.raku
来实现。 ,打印为
("D", "\x[C]", "\t")
.
if so, How to control
byteorder
?
Blob
来自
List
,您可以简单地
.reverse
列表使用相反的顺序。
关于byte - Raku 中的 `bytes.fromhex` 和 `to_bytes` 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69086801/
我正在尝试将一个数字(任意大小,可能很长)转换为其相应的字节字符串。例如,输入数字 1094795585(基数 10),即 0x41414141(基数 16),应返回“\x41\x41\x41\x41
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 3 年前。 Improv
我有一个 Python3 函数,它结合了两个 bytes , 一次使用 bytes.fromhex()方法,其他使用 to_bytes()方法: from datatime import dateti
我有一个十六进制字符串 hexDecoded = '0xa506f7374696e6720446174653a204a756c792031322c2032303038205b45426f6f6b202
我是一名优秀的程序员,十分优秀!