Мои байты хранятся в виде строковых значений, подобных этому, в файле D:\source.txt
208
203
131
132
148
128
128
128
128
128
Я просто хочу прочитать их и сохранить в другом файле
Я новичок вpowershell, поэтому написал программу, подобную этой
$bytes = New-Object System.Collections.ArrayList
foreach($line in [System.IO.File]::ReadLines("D:\source.txt"))
{
[void]$bytes.Add([System.Convert]::ToByte($line));
}
[System.IO.File]::WriteAllBytes("D:\target.zip",[Byte[]]$bytes.ToArray());
Так что из моего непонимания он должен получить строковое значение, преобразовать его в байтовый, сохранить его в ArrayList, преобразовать ArrayList в байтовый массив и записать в файл
* 1011.* И все идет хорошо, даже если я делаю
echo [Byte[]]$bytes.ToArray()
Я вижу правильное значение
Но файл результатов поврежден, и когда я проверяю его побайтно, я вижу следующие значения
-48
-53
-125
-124
-108
-128
-128
-128
-128
-128
Похоже, WriteAllBytes сдвигает мои байтовые значения на 128, но почему и где?
Я не очень профессионален в PowerShell и не могу найти что-либо связанное с документацией. Так что вы можете предложить, как я могу это исправить?
Спасибо за любую информацию