Обратные байты файла

1381
puggsoy

Есть ли программа или команда CMD, с помощью которой я могу просто перевернуть или перевернуть все байты файла? Например, если у меня есть текстовый файл (в качестве простого примера) с надписью «Hello, world!», Программа / команда перевернут его, чтобы сказать «! Dlrow, olleH».

Так что да, есть ли способ сделать это? Я программист и знаю, что было бы тривиально написать свою собственную программу для этого, но я бы не стал переживать, если уже есть что-то, что может это сделать. Пакетный скрипт также будет в порядке.

2
Я бы сказал, пройти через неприятности. Видимо, это тривиально, и вы можете поделиться своими моментами работы. С Уважением, Xavierjazz 9 лет назад 2
Конечно, если для этого еще ничего нет, я сам не против написать программу (и я уверен, что другие тоже могут найти ее полезной). Однако, если уже есть что-то для этого, нет смысла изобретать велосипед. puggsoy 9 лет назад 0
xxd проходит часть пути туда. xxd -p yourfile сбрасывает шестнадцатеричный код. Вы можете получить xxd с помощью vim7.x. Но что тогда напечатать, чтобы перевернуть его, как вы хотите, я не уверен. Я полагаю, Perl однострочно, хотя я еще не знаю Perl. barlop 9 лет назад 0

1 ответ на вопрос

6
STTR
powershell $s='Hello, world!';$s[-1..-($s.length)]-join'' 

file:

way 1:

powershell $f=[IO.File]::ReadAllBytes('.\file.txt');$t=[Text.Encoding]::ASCII.GetString($f);$t[-1..-($t.length)]-join'' 

way 2:

powershell [void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');$s=gc .\file.txt;[Microsoft.VisualBasic.Strings]::StrReverse($s) 

byte reverse:

slow:

powershell [byte[]]$b=gc '.\file.bin' -En byte;[array]::Reverse($b);[IO.File]::WriteAllBytes('.\Reverse.bin',$b) 

fast:

powershell [byte[]]$b=[IO.File]::ReadAllBytes('.\file.bin');[array]::Reverse($b);[IO.File]::WriteAllBytes('.\Reverse.bin',$b) 
Как бы я указать файл? Я не хочу писать символы в себе, и в большинстве случаев я не могу (так как на самом деле я хочу обратить байты, а не просто текст). puggsoy 9 лет назад 0
Ах, это прекрасно работает, спасибо! Я думаю, что я мог бы сделать программу для этого сам, хотя это кажется более сложным, чем необходимо. Все таки спасибо за ответ, работает и ответил на мой вопрос! puggsoy 9 лет назад 0
На самом деле ждать нет, это не работает должным образом. Он работает со строками, но для моего использования я хочу, чтобы он инвертировал все * байты * в файле, а не только текстовые символы. puggsoy 9 лет назад 0
@puggsoy Обновление 2 STTR 9 лет назад 0
Отлично, это работает. Я все равно сделал свою собственную программу, но она отвечает на мой вопрос и полезна :) puggsoy 9 лет назад 1