Вопрос: Обратные байты файла


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

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


2
2017-11-04 23:21


Источник


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


Ответы:


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

файл:

путь 1:

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

путь 2:

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

байт обратный:

медленный:

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

быстро:

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

6
2017-11-04 23:33



Как я могу указать файл? Я не хочу писать символы в себе, и в большинстве случаев я не могу (так как это байты, которые я хочу изменить, а не только текст). - puggsoy
Ах, отлично работает, спасибо! Я думаю, что я мог бы сделать программу для этого сам, хотя это кажется более сложным, чем необходимо. Все равно, спасибо за ваш ответ, он работает и ответил на мой вопрос! - puggsoy
На самом деле ждать нет, он работает неправильно. Он работает со строками, но для моего использования я хочу, чтобы он отменил все байтов в файле, а не только текстовые символы. - puggsoy
Обновление @puggsoy 2 - STTR
Отлично, это работает. В любом случае, я сделал свою собственную программу, но он отвечает на мой вопрос и полезен :) - puggsoy