首页 > 解决方案 > python中模拟Delphi-7 MOVE函数

问题描述

我想用python模拟Delphi-7 MOVE程序,

procedure Move(const SourcePointer; var DestinationPointer; CopyCount : Integer ) ;

将副本 Count 个字节从 Source 移动到 Dest。不执行范围检查。移动补偿源块和目标块之间的重叠。

这是我的python代码:

def move(src, cnt):
    src_bit = "{0:b}".format(src)
    src_byte = bytes([int(src_bit[i:i + 8], 2) for i in range(0, len(src_bit), 8)])[:cnt]
    return str(src_byte[::-1], 'cp1256')

为此,首先,我将数据转换为二进制,然后从这些位创建字节,最后使用 cp1256 代码页解码二进制代码。此功能仅适用于部分数据,我认为所有数据未覆盖的问题是因为我使用的代码页。我尝试使用一些不同的代码页但没有解决我的问题:(

标签: pythonbytedecodeencodecodepages

解决方案


推荐阅读