我正在寻找一种在Powershell中读取二进制文件的方法,但我的结果总是有错误的长度。
在Python中:
with open ("file.txt", "br") as f:
a = f.read()
len(a)
>> correct size
当我尝试在PowerShell中执行此操作时(我使用了多种方法,但结果不是我需要的)我得到了4x文件大小。我试过像
这样的东西$a = Get-Content 'file.txt' -Encoding Byte
但它显然不等同于我的Python命令。我基本上想要创建一组字符,但只能在Google上找到像#34;在PowerShell中没有内置函数"。咩。谢谢你的帮助!
后台:我想将文件发送到API,但我不能在win10上使用除了本机PowerShell之外的任何其他内容来执行此操作。如果我只使用Curl,Python中的代码也可以工作。
我使用Fiddler来分析两者(Curl / Python)和PowerShell尝试的主体,我可以看到,我使用PowerShell传输的文件看起来与使用Curl传输的文件非常不同(标题是相同的) )。所以我想,我可能只是以错误的格式读取文件导致错误。因此,我把文件读入Bash / Python并分析它的长度并对PowerShell做了同样的事情(文件不是我必须添加的可读文本,而是二进制数据)。我很快发现我尝试转移的两个文件已经看起来彼此非常不同了,这引出了我上面发布的确切问题。