如何在 python 中将字符串转换为二进制数据 (EDID)
How to convert a string into binary data (EDID) in python
我目前正在编写一个 EDID 脚本,以便能够在我的 Fedora25 中选择自定义分辨率
我找到了 this assembly script to generate the different solutions. I was able to use this as a "template" and my python script works fine generating the CEA Extension Blobs. Now i want to merge the "Head" and my CEA Blobs with the help of the Wikipedia EDID Byte Order Site。
但是在 GitHub 脚本中这个 (end1-start1) 让我很困惑:
Descriptor2:
start1: .ascii "Linux #0"
end1: .byte 0x0a /* End marker */
.fill 12-(end1-start1), 1, 0x20 /* Padded spaces */
我该怎么做"Linux #0" - 10
? (0x0a = 10)
当我转换 "Linux #0" 时,我得到 76 105 110 117 120 32 35 48
描述符的 18 字节有什么不合理?
在汇编程序中,行首的标记指的是地址。 start1
是字符串 "Linux #0"
开始的地址,end1
是字节 0x0a
开始的地址(或定位,因为它是一个字节)。术语 (end1-start1)
指的是地址的不同。由于汇编程序将这些东西紧接着放入内存中,因此这就是字符串 "Linux #0"
, i 的长度。 e. 8.
12 - (end1-start1)
项是将内容填充到 12 字节所需的填充字节数。然后将它们放在 .byte
0x0a
后面(.fill
带空格 (0x20
))。
我目前正在编写一个 EDID 脚本,以便能够在我的 Fedora25 中选择自定义分辨率
我找到了 this assembly script to generate the different solutions. I was able to use this as a "template" and my python script works fine generating the CEA Extension Blobs. Now i want to merge the "Head" and my CEA Blobs with the help of the Wikipedia EDID Byte Order Site。
但是在 GitHub 脚本中这个 (end1-start1) 让我很困惑:
Descriptor2:
start1: .ascii "Linux #0"
end1: .byte 0x0a /* End marker */
.fill 12-(end1-start1), 1, 0x20 /* Padded spaces */
我该怎么做"Linux #0" - 10
? (0x0a = 10)
当我转换 "Linux #0" 时,我得到 76 105 110 117 120 32 35 48
描述符的 18 字节有什么不合理?
在汇编程序中,行首的标记指的是地址。 start1
是字符串 "Linux #0"
开始的地址,end1
是字节 0x0a
开始的地址(或定位,因为它是一个字节)。术语 (end1-start1)
指的是地址的不同。由于汇编程序将这些东西紧接着放入内存中,因此这就是字符串 "Linux #0"
, i 的长度。 e. 8.
12 - (end1-start1)
项是将内容填充到 12 字节所需的填充字节数。然后将它们放在 .byte
0x0a
后面(.fill
带空格 (0x20
))。